骨灰级新手村村民 2023-03-03 23:10 采纳率: 80%
浏览 28
已结题

关于#c语言#的问题:在visual studio用fprintf一直报错

在visual studio用fprintf一直报错
就是把素数写到文件里,用fprintf就一直报错,不知道为什么。

img

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;

  • 写回答

2条回答 默认 最新

  • 编程漫步者 2023-03-03 23:18
    关注

    在使用 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);
    }
    

    此外,你还需要在文件路径中将反斜杠 \ 转义为 \,或者直接使用正斜杠 /,以免被解析为转义字符。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 3月3日