我正在尝试为 Linux 编写一个简单的 C 程序,它将生成一个 1 MB 的文件,但我无法让这段代码工作。当我尝试运行它时,我收到了一条段错误消息,但我不确定哪里出错了。不过,我确实有一种预感,那就是 fseek:
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(argv[0], "w");
fseek(fp, 1000000 - 1, SEEK_SET);
fputc('\0', fp);
return 0;
}
谁能指出我正确的方向?
最佳答案
argv[0]
是您的二进制文件的名称。你想使用 argv[1]
作为你的文件名。
关于c - 编写 C 程序在 Linux 上创建一个 1 MB 的文件并出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27097843/