簡介
1. 字串比較strncmp函式與strcmp函式不同的地方是引數裡面是否有n。n代表比較的字元的個數。但是strncmp的功能只能從開頭比較,沒有grep的功能;
2. 對於接受的引數,如:argv[1], argv[2]。採用巨集定義來的方法來區分引數之間不同的含義。如:#define key_ptr argv[1] #definefile_ptr argv[2] 。
3. 在使用fopen函式後,記得在程式末尾使用fclose來關閉檔案流。也可以使用atexit函式來登記退出的處理函式,來關閉檔案流。
示例**
#include #include #include #define max_buffer 200
#define key_ptr argv[1]
#define file_ptr argv[2]
int main(int argc,char *argv)
if(strlen(file_ptr)== 0)
fp= fopen(file_ptr,"r");
if(!fp)
key_sum= strlen(key_ptr);
printf("find:\n");
while(fgets(buffer,sizeof(buffer),fp)!= 0)
}elsekey_ptr = key_ptr;
buf_ptr++;}}
fclose(fp);
printf("progress%d is found %d\n",getpid(),res_sum);
exit(exit_success);
}
執行結果
[root@localhost grep]# ./y_grep incy_grep.c
find:
#include
#include
#include
progress 10902 is found 3
C語言實現泛型程式設計
泛型程式設計讓你編寫完全一般化並可重複使用的演算法,其效率與針對某特定資料型別而設計的演算法相同。在c語言中,可以通過一些手段實現這樣的泛型程式設計。這裡介紹一種方法 通過無型別指標void 看下面的乙個實現交換兩個元素內容的函式swap,以整型int為例 void swap int i1,int ...
socket簡單程式設計 C語言實現
include include include 緩衝區溢位會怎麼樣?intmain 判斷請求載入的版本號的是否符合要求if lobyte wsadata.wversion 2 hibyte wsadata.wversion 2 設定伺服器位址 server add.sin family af ine...
多道程式設計模擬 C語言實現
作業系統實驗 模擬多道程式設計的執行,並且比較順序執行和多道程式執行的所需要的時間。程式的生命週期為 計算 io操作 計算 結束 下面為c語言實現版本,模擬的三個程式單通道模式 多道程式設計模擬 本次為作業系統的實驗,模擬了a,b,c三個程式的多道程式的執行,比較順序執行和多道程式設計 程式執行的順...