我試圖根據文件內容退出while循環。文件存在並且是空的,或者在程序初始化時被垃圾填充。我在外部修改了這個文件,並希望循環根據文件的修改方式退出。在C中,如何根據文件內容退出循環
目前,我開始幾個線程,打開我正在閱讀的文件。檢查第一個字節。如果它是一個,我退出,否則啓動循環。
當我想退出。我在第一個字節中放置了一個,但是看起來我的文件再也不會被讀取了。
雖然循環語句和變量定義每個環的樣子:
while(strcmp(fileContents, "1\n") != 0){
lengthRead = fread(fileContents, 1, size, isRecording);
fseek(isRecording, 0, SEEK_SET);
我知道有可能是更簡單的方式來退出while循環外,但根據我的項目,我可以的唯一途徑的架構看看如何控制這個就是根據文件內容退出。
共享內存?套接字?檢查第二個文件的存在? – 2010-09-29 18:15:43
這裏有一個可疑的事情:你使用'fread()'從文件中得到一個字節,然後用'strcmp()'比較兩個字節('「1 \ n」')。 – aschepler 2010-09-29 18:19:07
它看起來很可疑,但fread實際上一次讀取1個字節,大小爲字節數。 – pri0ritize 2010-09-29 18:33:15