gpt4 book ai didi

c - 用C语言将数组写入文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:02 25 4
gpt4 key购买 nike

我正在尝试将前 N 个质数的数组写入一个 txt 文件,每行 5 个条目,每个条目之间有 10 个空格。相关代码如下:

#include<stdio.h>
#include<math.h>

#define N 1000

...

void writePrimesToFile(int p[N], char filename[80])
{
int i;
FILE *fp = fopen(filename, "w");
for(i = 0; i<=N-1; i++)
{
for(i = 0; i<5; i++)
{
fprintf(filename, "%10%i", p[i]);
}
printf("/n");
fclose(fp);
}


printf("Writing array of primes to file.\n");
}

编译器抛出以下错误:

primes.c:40:4: warning: passing argument 1 of ‘fprintf’ from incompatible pointer type [enabled by default]
fprintf(filename, "%10%i", p[i]);
^
In file included from /usr/include/stdio.h:29:0,
from primes.c:1:
/usr/include/stdio.h:169:5: note: expected ‘struct FILE *’ but argument is of type ‘char *’
int _EXFUN(fprintf, (FILE *, const char *, ...)
^

许多谷歌搜索都没有结果。任何帮助将不胜感激。

最佳答案

在允许使用 fp 之前测试 fopen() 的输出:

FILE *fp = fopen(filename, "w");   
if(fp)//will be null if failed to open
{
//continue with stuff
//...
}

也是 fprintf(...) 的第一个参数是 FILE * 类型。变化:

fprintf(filename, "%10%i", p[i]);
^^^^^^^^

fprintf(fp, "%i", p[i]);
^^//pointer to FILE struct

关于c - 用C语言将数组写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com