是否有任何选项可以生成与输入文件名相同的输出文本文件?
在 C 中,我使用以下方法获取文件名:
gets(file_name);
并通过以下方式打开它:
f1=fopen(file_name,"r");
评论。如何在不输入格式类型的情况下打开文件?例如file100.txt
我想进入file100
阅读文件。
以及使输出文件与输入文件同名的任何选项?
是否有任何选项可以生成与输入文件名相同的输出文本文件?
在 C 中,我使用以下方法获取文件名:
gets(file_name);
并通过以下方式打开它:
f1=fopen(file_name,"r");
评论。如何在不输入格式类型的情况下打开文件?例如file100.txt
我想进入file100
阅读文件。
以及使输出文件与输入文件同名的任何选项?
要创建具有相同名称的输出文件,只需将输出内容保存到某个字符串中。然后,关闭文件并使用写入模式(“w”)再次打开它。然后,写入内容并再次关闭文件。
您可以使用
snprintf(new_filename, sizeof new_filename, "%s.%d", File_name, int_val);
对于您的文件名问题,您可以使用例如sprintf
:
char full_file_name[256];
sprintf(full_file_name, "%s.txt", file_name);
当然,如果不对输入的文件名进行一些验证,则不建议这样做。
对于您的其他问题,请参阅以下文档fopen
:
r+ 打开用于读写。流位于开头 的文件。 w+ 开放阅读和写作。如果文件不存在,则创建该文件, 否则会被截断。 流位于文件的开头。 a+ 打开以进行读取和附加(在文件末尾写入)。该文件是 如果不存在则创建。 读取的初始文件位置在文件的开头, 但输出总是附加到文件的末尾。