我正在编写管理纯文本文件的程序代码。问题是如何使用 fopen()
生成一个文件,其长度为 X
的字符串。
我对 X
的意思是,用户可以仅键入一个字母作为文件名 ("a.txt")
,但他也可以键入一个很长的名称("this_is_my_super_new_file_bla_bla_bla.txt")
。
我尝试使用链表来实现此目的,但我不知道如何将链表节点的 char 部分传递给 fopen()
的参数。
还有其他方法吗?我唯一不想做的就是限制名称的长度。如果我这样做,我就必须从一开始就预留内存,这会让我的程序变得更重。
最佳答案
假设您有一个包含文件名的字符串 (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);
关于c - 如何在C中生成名称长度为X的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701311/