我试图根据文件内容退出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