ファイルの作成方法はわかっていますが、拡張子が .blabla のファイルを作成できません。それは可能ではありませんか?
ありがとう
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;
}
なぜできないのか... プログラムが自分のファイルを検出できるように拡張子が追加されます。さらに .blabla ファイルを使用する必要がある場合は、作成できます。として直接ファイルに名前を付けることができますfilename.blabla
。