0

是否有任何选项可以生成与输入文件名相同的输出文本文件?

在 C 中,我使用以下方法获取文件名:

gets(file_name);

并通过以下方式打开它:

f1=fopen(file_name,"r");

评论。如何在不输入格式类型的情况下打开文件?例如file100.txt我想进入file100阅读文件。

以及使输出文件与输入文件同名的任何选项?

4

3 回答 3

0

要创建具有相同名称的输出文件,只需将输出内容保存到某个字符串中。然后,关闭文件并使用写入模式(“w”)再次打开它。然后,写入内容并再次关闭文件。

于 2012-06-19T11:11:55.750 回答
0

您可以使用

snprintf(new_filename, sizeof new_filename, "%s.%d", File_name, int_val);
于 2012-06-19T11:03:13.577 回答
0

对于您的文件名问题,您可以使用例如sprintf

char full_file_name[256];
sprintf(full_file_name, "%s.txt", file_name);

当然,如果不对输入的文件名进行一些验证,则不建议这样做。

对于您的其他问题,请参阅以下文档fopen

r+ 打开用于读写。流位于开头
       的文件。

w+ 开放阅读和写作。如果文件不存在,则创建该文件,
       否则会被截断。
       流位于文件的开头。

a+ 打开以进行读取和附加(在文件末尾写入)。该文件是
       如果不存在则创建。
       读取的初始文件位置在文件的开头,
       但输出总是附加到文件的末尾。
于 2012-06-19T11:06:43.877 回答