在visual studio用fprintf一直报错
就是把素数写到文件里,用fprintf就一直报错,不知道为什么。
int main()
{
int n = 2, count = 0;
FILE* fp;
if ((fp = fopen_s(&fp,"D:\c_learn\text_6\prime.txt", "w")) == NULL) {
printf("flile open error!\n");
exit(0);
}
while (count < 500) {
if (prime(n) != 0) {
count++;
fprintf(fp,"%d", n);
}
n++;
}
if (fclose(fp)) {
printf("can not close the file!\n");
exit(0);
}
return 0;
在使用 fopen_s 函数时,第一个参数应该是指向 FILE * 类型的指针,用于接收打开的文件流,而你的代码中将第一个参数也设置为了 &fp,导致了错误。应该将 &fp 改为 &f,即:
if ((fopen_s(&f, "D:\\c_learn\\text_6\\prime.txt", "w")) != 0) {
printf("file open error!\n");
exit(0);
}
此外,你还需要在文件路径中将反斜杠 \ 转义为 \,或者直接使用正斜杠 /,以免被解析为转义字符。
不知道你这个问题是否已经解决, 如果还没有解决的话: