-1

我正在编写一个管理纯文本文件的程序的代码。问题是我怎样才能生成一个文件,使用fopen(),长度为 的字符串X

我的意思X是用户只能输入一个字母作为文件名("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 回答