一月 28, 2016
» 以 EnumLookup 查詢 C enumerator

前陣子我把 AWK 撿回來練習,順便研究一下 Windows 下怎麼跑 GAWK 跟 AWKA 之類的工具。這期間,我想了幾個簡單的題目來練習。其中有個我稱作 EnumLookup 的工具,一些慣 C 的人應該會用到,所以在這裡做個分享。 顧名思義,這個工具的目的是針對 enum ,它可以在多個 C enumerations 上查詢 enumerator 或它們對應的值。這裡是安裝跟執行說明文件,大家可以根據上面的指引,直接下載內含執行檔的下載包來試用。這個工具有個搭配的 enum.bat ,執行後可以雙向查詢:可反覆敲進數字來查對應的名字(enumerator),或者敲入名字(enumerator)來查對應的索引數字。需要注意的是,這個工具沒有真的去實作完整的 C enum parser ,只是認「通常」情況下的 enum 特徵。下面這種寫成一行的寫法,無法正確執行:typedef

七月 8, 2010

電腦做什麼事
pydoing
is about »

tag cloud

» c puts

C puts stdio.h 的函數 puts() 將字串傳送到標準輸出裝置。 以下程式示範使用 puts() 的結果 #include <stdio.h> int main(void) { char *c1 = "Hello"; puts(c1); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cputs.c 功能:示範 stdio.h 中函數 puts() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C 語言標準函數庫分類導覽 回 C 教材目錄 回首頁


» c putchar

C putchar stdio.h 的函數 putchar() 將字元傳送到標準輸出裝置。 以下程式示範使用 putchar() 的結果 #include <stdio.h> int main(void) { char *c1 = "Hello"; while (*c1 != '\0') { putchar(*c1); putchar('\n'); c1++; } return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cputchar.c 功能:示範 stdio.h 中函數 putchar() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,


» c gets

C gets stdio.h 的函數 gets() 從標準輸入裝置接受使用者輸入的字串。 以下程式示範使用 gets() 的結果 #include <stdio.h> int main(void) { char c1[20]; printf("請輸入連續的字元....\n"); gets(c1); printf("剛剛輸入的字串: %s\n", c1); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cgets.c 功能:示範 stdio.h 中函數 gets() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C 語言標準函數庫分類導覽 回 C 教材目錄


» c getchar

C getchar stdio.h 的函數 getchar() 從標準輸入裝置接受使用者輸入的字元。 以下程式示範使用 getchar() 的結果 #include <stdio.h> int main(void) { char c1; printf("請輸入任何一個字元....\n"); c1 = getchar(); printf("剛剛輸入的字元: %c\n", c1); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cgetchar.c 功能:示範 stdio.h 中函數 getchar() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C


七月 7, 2010

電腦做什麼事
pydoing
is about »

tag cloud

» c stdtime

C 語言相關的時間處理 標頭檔 time.h 宣告許多時間處理的型態、結構跟函數。例如兩個算術型態 clock_t 與 time_t , clock_t 的單位是 CPU 時間的單位 tick , time_t 的單位則是秒。CLOCKS_PER_SEC 為 time.h 中定義的常數, clock_t 型態的變數除以 CLOCKS_PER_SEC ,單位就會轉換成秒。 另外有一個專門處理時間格式的結構 tm ,有如下成員 int tm_sec;秒 int tm_min;分 int tm_hour;時 int tm_mday;日 int tm_mon;月 int tm_year;年 int tm_wday;星期幾 int tm_yday;今年已過的天數 int tm_isdst;日光節約時間的旗標 以下為 time.h 中用以處理時間的函數 函數名稱功能函數原型 clock


» c strftime

C strftime time.h 的函數 strftime() 將結構 tm 中的時間格式轉換成指定格式的字串,有如下的可指定的轉換格式 %a星期幾的縮寫,如Wed %A星期幾的完整名稱,如Wednesday %b月份的縮寫,如Jul %B月份的完整名稱,如July %c同 asctime() 的結果,如Wed Jul 7 15:37:53 2010 %d這個月的第幾日,從 01 到 31 ,如07 %H24 小時制的當天時刻,如15 %I12 小時制的當天時刻,如3 %j今年的第幾天,從 001 到 366 ,如188 %m月份,從 01 到 12 ,如07 %M現在幾分,從 00 到 59 ,如37 %PPM 或 AM ,如P %S現在幾秒,從 00 到 59 ,如53 %U以星期天為第一天的週數,從 00 到 53 ,如27 %w星期幾,從 0 到 6 ,如3 %W


» c ctime

C ctime time.h 的函數 ctime() 將日曆時間轉換成字串,因此以指向日曆時間的指標當作參數,回傳表示此時間格式的字串。 以下程式示範使用 ctime() 的結果 #include <stdio.h> #include <time.h> int main(void) { time_t t1 = time(NULL); char *now = ctime(&t1); printf(now); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cctime.c 功能:示範 time.h 中函數 ctime() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C


» c asctime

C asctime time.h 的函數 asctime() 將結構 tm 中所表示的時間格式轉換成字串,因此以指向結構 tm 的指標當作參數,回傳表示此時間格式的字串。 以下程式示範使用 asctime() 的結果 #include <stdio.h> #include <time.h> int main(void) { time_t t1 = time(NULL); struct tm *nPtr = localtime(&t1); char *now = asctime(nPtr); printf(now); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:casctime.c 功能:示範 time.h 中函數


» c localtime

C localtime time.h 的函數 localtime() 以指向日曆時間的指標當作參數,將此日曆時間轉換成結構 tm 的表示方法,並回傳表示此結構 tm 。 以下程式示範使用 localktime() 的結果 #include <stdio.h> #include <time.h> int main(void) { time_t t1 = time(NULL); struct tm *nPtr = localtime(&t1); int year = nPtr->tm_year + 1900; int month = nPtr->tm_mon + 1; int mday = nPtr->tm_mday; int wday = nPtr->tm_wday; printf("今天是 %u 年 %u 月 %


» c mktime

C mktime time.h 的函數 mktime() 以指向結構 tm 的指標當作參數,回傳此 tm 所表示的日曆時間。 以下程式示範使用 mktime() 的結果 #include <stdio.h> #include <time.h> int main(void) { time_t n; struct tm t1; t1.tm_sec = 8; t1.tm_min = 12; t1.tm_hour = 3; t1.tm_mday = 22; t1.tm_mon = 3; t1.tm_year = 1999-1900; t1.tm_wday = 1; t1.tm_yday = 81; t1.tm_isdst = -1; n = mktime(&t1);


» c difftime

c difftime time.h 的函數 difftime() 計算兩個 time_t 型態參數的時間差。 以下程式示範使用 difftime() 的結果 #include <stdio.h> #include <time.h> int main(void) { char c; time_t t1, t2; t1 = time(NULL); printf("請輸入小寫字母 q 結束迴圈\n"); while ((c = getchar()) != 'q') { if (c == '\n') { continue; } } t2 = time(NULL); printf("此程式共執行 %d 秒...\n", (int)


» c time

c time time.h 的函數 time() 回傳日曆時間,也就是自 1970 年 1 月 1 日後經過的總秒數。 以下程式示範使用 time() 的結果 #include <stdio.h> #include <time.h> int main(void) { time_t t1 = time(NULL); printf("自 1970 年 1 月 1 日後經過了 %d 秒....\n", t1); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:ctime.c 功能:示範 time.h 中函數 time() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C


» c clock

c clock time.h 的函數 clock() 回傳程式執行後佔用的 CPU 時間,單位為 tick 。 以下程式示範使用 clock() 的結果 #include <stdio.h> #include <time.h> int main(void) { long fiveseconds = CLOCKS_PER_SEC * 5; printf("程式開始執行,準備暫停五秒...\n"); while (clock() < fiveseconds) { } printf("五秒過後,程式執行結束...\n"); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cclock.c 功能:示範


七月 6, 2010

電腦做什麼事
pydoing
is about »

tag cloud

» c stdutility

C 語言相關的通用工具 標頭檔 stdlib.h 宣告許多作為通用工具的函數,例如型態轉換、搜尋排序、記憶體配置、擬隨機數產生等等。 以下函數可作型態轉換 函數名稱功能函數原型 atof將數字字串轉後成 double 型態的數字double atof(const char *); atoi將數字字串轉後成 int 型態的數字int atoi(const char *); strtod將字串中的數字轉換成 double 型態的數字,非數字部份以另一字串儲存double strtod(const char *s, char **r); strtol將字串中的數字轉換成 long 型態的數字,非數字部份以另一字串儲存long strtol(const char *s, char **r, int base); 以下函數可在陣列中做搜尋及排序 函數名稱功能函數原型 bsearch


» c srand

c srand stdlib.h 的函數 srand() 替 rand() 產生種子,通常以 time.h 的 time() 當作參數,可以使每次產生的擬隨機數都不同。 以下程式示範使用 srand() 的使用 #include <stdlib.h> #include <stdio.h> #include <time.h> int main(void) { int i; srand(time(0)); for (i = 1; i <= 100; i++) { printf("%d ", rand()); if (i % 5 == 0) { printf("\n"); } } return 0; } /* 《程式語言:教學誌》的範例程式


» c rand

c rand stdlib.h 的函數 rand() 產生擬隨機數,可當亂數使用,範圍從 0 到 RAND_MAX ,其中 RAND_MAX 的值由編譯器的系統版本而定,至少會是 32767 。 以下程式示範使用 rand() 的使用 #include <stdlib.h> #include <stdio.h> int main(void) { int i; for (i = 1; i <= 100; i++) { printf("%d ", rand()); if (i % 5 == 0) { printf("\n"); } } return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com


» c system

c system stdlib.h 的函數 system() 接受作業系統的指令字串當參數,使程式執行作業系統的指令。 以下程式示範使用 system() 的結果 #include <stdlib.h> #include <stdio.h> int main(void) { system("date"); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:csystem.c 功能:示範 stdlib.h 中函數 system() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C 語言標準函數庫分類導覽 回 C 教材目錄 回首頁


» c exit

c exit stdlib.h 的函數 exit() 使程式正常的結束。 以下程式示範使用 exit() 的結果 #include <stdlib.h> #include <stdio.h> int main(void) { printf("程式將會以正常方式結束...\n"); exit(1); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cexit.c 功能:示範 stdlib.h 中函數 exit() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C 語言標準函數庫分類導覽 回 C 教材目錄 回首頁


» c abort

c abort stdlib.h 的函數 abort() 使程式不正常的結束。 以下程式示範使用 abort() 的結果 #include <stdlib.h> #include <stdio.h> int main(void) { printf("程式將會以不正常方式結束...\n"); abort(); return 0; } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:cabort.c 功能:示範 stdlib.h 中函數 abort() 的使用 作者:張凱慶 時間:西元2010年6月 */ 編譯後執行,結果如下 回 C 語言標準函數庫分類導覽 回 C 教材目錄 回首頁


biggo.com.tw

A Django site.