编写C程序在Linux上创建1 MB文件并获取Segmentation Fault

时间:2014-11-24 04:24:59

标签: c linux stdio

我正在尝试为Linux编写一个简单的C程序,它将生成一个1 MB的文件,但我无法使用此代码。当我尝试运行它时,我得到一个seg错误错误消息,我不确定它出错的地方。我确实有这样的预感: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;
}

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:7)

argv[0]是二进制文件的名称。您希望使用argv[1]作为文件名。