我是C编程的新手。我正在尝试打开一个文件(juanjo2.klb),该文件是我使用同一程序创建的二进制文件,我将在此处显示。事情是,我正在尝试使用fprintf()函数将字符串打印到文件,然后使用fgets()将字符串写入“ cad”字符串,并使用函数printf()打印到屏幕上我从文件中读取的字符串。
当我运行该程序时,该程序崩溃了,Windows(Windows 7)给我一个消息框,提示我的程序停止工作并且正在寻找问题的解决方案。所以我真的不知道我在做什么错,因为我认为我正确地使用了这些功能。我需要你的帮助。这是源代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAXCHARS 20
int main()
{
char cad[MAXCHARS];
FILE *pf;
char *nombre = "\\juanjo2.klb";
if(pf = fopen(nombre, "a+b") == NULL)
{
printf("Error opening file\n");
exit(-1);
}
fprintf(pf, "%s", "Hola como estas");
while(feof(pf) == 0)
{
fgets(cad, 13, pf);
printf("%s", cad);//Here I print the string to the screen.
}
fclose(pf); //Closing file.
system("PAUSE");
return 0;
Run Code Online (Sandbox Code Playgroud)
}
我正在使用Codeblocks IDE 10.05。谢谢你的帮助。