-1

プレーンテキストファイルを管理するプログラムのコードを書いています。fopen()問題は、長さが。の文字列を使用して、を使用してファイルを生成するにはどうすればよいかということですX

つまりX、ユーザーはファイルの名前として1文字しか入力できませ("a.txt")んが、非常に長い名前を入力することもできます("this_is_my_super_new_file_bla_bla_bla.txt")

リンクリストでそれを行おうとしていますが、リンクリストのノードのchar部分をの引数に渡す方法がわかりませんfopen()

それを行う別の方法はありますか?私がしたくない唯一のことは、名前の長さを制限することです。そうすると、最初からメモリを予約しなければならず、プログラムが重くなります。

4

1 に答える 1

0

ファイル名に文字列 ( char *) があり、「.txt」拡張子を追加したい場合は、次のようにします。

char *input = "new_file_name";
char *filename = malloc((strlen(input) + 5) * sizeof(char));
sprintf (filename, "%s.txt", input);
FILE *file = fopen(filename, "w");
free(filename);
于 2012-10-03T03:29:11.403 に答える