gpt4 book ai didi

c - 在 C 中的 linux 上如何生成大小为 X 的文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:41 27 4
gpt4 key购买 nike

所以我想创建一个名为 genData.c 的文件,例如执行时:./genData filename.txt 将向该文件写入 1 个字符 1000 次。

本质上是创建一个 1kb 的文件。我希望能够修改 for 循环,比如说 100000 次,以生成一个 1MB 的文件等等。

这是我尝试过的方法,它可以编译,但执行时会导致段错误。

有什么建议吗?抱歉,C 语言是我从未涉足过的语言。

#include <stdio.h>

int main (int argc, char *argv) {
char ch = 'A';
FILE *fp;
fp = fopen(argv[1], "wb");
int i;

for (i = 0; i < 1000; i++) {
fwrite(&ch, sizeof(char), 1, fp);
}

fclose(fp);

return 0;
}

最佳答案

如果你编译时出现警告,你会得到关于确切问题的提示:

test.c:3:5: warning: second argument of ‘main’ should be ‘char **’ [-Wmain]
int main (int argc, char *argv) {
^

您所有的麻烦都始于此错误的下游。修复此参数,您的代码将正常工作。

以后养成打开警告编译的习惯:

$ gcc -Wall foo.c
...

这将有助于发现拼写错误和其他会导致问题的异常现象。

关于c - 在 C 中的 linux 上如何生成大小为 X 的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33791339/

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