完整代码:https://pastebin.com/NpspcJB8
我不确定我是否正确使用fgets()
和fputs()
,但我需要这个或类似的东西来编辑我的程序文件。在我的程序中,我将创建一个文件,但是当我在程序中生成文件内容时,我得到了这个:
文件输出
Space: D44 Customer Name: empty Registration number: empty
Space: D45 Customer Name: empty Registration number: empty
Space: D46 Customer Name: empty Registration number: empty
Space: D47 Customer Name: empty Registration number: empty
Space: D48 Customer Name: empty Registration number: empty
Space: D49 Customer Name: empty Registration number: empty
Space: D50 Customer Name: empty Registration number: empty
empty
empty
empty
empty
empty
empty
empty
当我在程序中添加停车位时会发生这种情况,我相信这只会改变数组值。我需要删除文件输出中的empty
,这是我在我创建的函数中使用我刚才提到的函数在代码中尝试的:
int CheckExtraInput() {
fptr=fopen("parking_spaces.txt", "r+");
if (fptr==NULL) {
printf("Error! File does not exist");
return 1;
}
char extraInput[] = " empty\n";
// http://www.cplusplus.com/reference/cstdio/fgets/
// https://www.tutorialspoint.com/c_standard_library/c_function_strchr.htm
// char *s = strchr(extraInput, '\n');
// if(s) *s = '\0';
// fseek(fptr, 7, SEEK_SET);
while (fgets(extraInput, 8, fptr) != NULL) {
fputs(" aaa ", fptr);
}
}
我使用" aaa "
来测试此代码,而不是它。我相信我可以使用更多来实现这一点,但我不确定是什么;我之前使用fseek()
得到了类似的结果。
我只需要找到一种方法让程序转到文件的末尾,如果它开始检测empty
,它需要将其删除以节省存储空间。