0

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

谢谢

4

2 回答 2

1

您可以使用固定长度,snprintf正如 Tim Cooper 所说,或者您可以使用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;
}
于 2013-07-03T10:56:54.840 回答
0

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

于 2013-07-03T11:03:08.177 回答