小编Mke*_*key的帖子

在Linux上用C如何生成大小为X的文件?

所以我想创建一个名为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;
}
Run Code Online (Sandbox Code Playgroud)

c linux file

1
推荐指数
1
解决办法
94
查看次数

Linux API 调用以实现 rm、mv 和 cp

我正在用 C 编写我自己的小外壳,或者至少我今天要开始。我想实现三个功能。

  • remove file1

为此我需要哪些系统调用?只需打开文件并删除其内容,或者除了使用之外是否还有删除文件的系统调用rm

  • mycopy source destination

为此,我正在考虑让一个缓冲区并打开 file1 读入缓冲区并写出到 file2 但我不知道如何将它实际放入代码中,如果有人可以将一个小例子放在一起,这对很多人有帮助。

  • move source destination

这只是实现复制和删除吗?

我的主要问题是使用 argv[] 参数我从来没有这样做过,所以它对我来说是新的。

c linux system-calls gnu-coreutils

0
推荐指数
1
解决办法
2874
查看次数

标签 统计

c ×2

linux ×2

file ×1

gnu-coreutils ×1

system-calls ×1