方法一:
bool cbrowsedir::searchtxt(const
char *filename)
else
}else
return
false;
}
q1:在遇到msdn幫助文件中乙個日誌檔案(.txt,該檔案大於10m)時,程式執行卡住,cpu佔用率很高。
方法二:
bool cbrowsedir::searchtxt(const
char *filename)
while(fgets(temp,255,fp))
} fclose(fp);
return
false;
}
用c的方法迴圈按行讀取,大的檔案不會卡住,但在上述該txt檔案中寫入關鍵字(如:test),無法搜尋到該結果。
分析原因:
刪除該檔案內容,寫入測試資料,並列印出來:
檔案內容:
testaabbtest
***endofsession***
ettest
test
tettest
讀取出來並%s列印出來的內容:
結束
記憶體中為亂碼。
建立檔案a.txt,都寫入相同的內容:test
用c32asm檢視:
a.txt檔案內容:
0x74, 0x65, 0x73, 0x74, 0x0d, 0x0a,
日誌.txt檔案內容:
0xff, 0xfe, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00,
應該是日誌檔案有自己定義的結構,讀內容無法查詢該內容。 c語言 在txt檔案中搜尋關鍵詞 C語言關鍵字大全
關鍵字 關鍵字又稱為保留字,就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等識別符號 由iso標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typed...
C語言讀取檔案中字串
int get key value char path,char key str,int val long file len fseek fp,0,seek end 將檔案指標移動到檔案結尾,成功返回0,不成功返回 1 file len ftell fp 求出當前檔案指標距離檔案開始的位元組數 fs...
linux grep搜尋檔案中的字串
root localhost grep root etc group root x 0 root bin x 1 root,bin,daemon root localhost grep root etc group etc my.cnf etc group root x 0 root etc my....