如何使用文件名argv [1] .blabla创建文件?在c

时间:2013-07-03 10:38:45

标签: c file

我知道如何创建文件,但我无法创建扩展名为.blabla的文件。不可能吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用Tim Cooper所说的固定长度和snprintf,或者您可以使用malloc中包含的string.h和字符串函数

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    #define EXT ".blabla"
    char *s;
    FILE *f;

    if (argc < 2) {
        fprintf(stderr, "Usage: %s filename\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    s = malloc(strlen(argv[1]) + strlen(EXT) + 1);
    if (s == NULL) {
        perror("malloc");
        exit(EXIT_FAILURE);
    }
    strcpy(s, argv[1]);
    strcat(s, EXT);
    f = fopen(s, "w");
    if (f == NULL) {
        perror("fopen");
        exit(EXIT_FAILURE);
    }
    fclose(f);
    free(s);
    return 0;
}

答案 1 :(得分:0)

为什么不可能...添加扩展程序以便程序可以检测到自己的文件。如果您需要进一步使用.blabla文件,那么您可以创建。您可以直接将文件命名为filename.blabla