1. 将一个文本文件中的内容按倒序方式输出到新建文本文件,试用C语言编写相应程序。
时间: 2024-02-27 22:54:17 浏览: 31
可以使用C语言中的文件操作函数来实现这个功能,以下是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1000
int main()
{
char input_file_name[100];
char output_file_name[100];
char line[MAX_LINE_LENGTH];
FILE *input_file, *output_file;
long int file_size, i, j;
printf("请输入要读取的文件名:");
scanf("%s", input_file_name);
input_file = fopen(input_file_name, "r");
if (input_file == NULL)
{
printf("无法打开输入文件!\n");
exit(1);
}
printf("请输入要保存的文件名:");
scanf("%s", output_file_name);
output_file = fopen(output_file_name, "w");
if (output_file == NULL)
{
printf("无法创建输出文件!\n");
exit(1);
}
fseek(input_file, 0L, SEEK_END);
file_size = ftell(input_file);
fseek(input_file, 0L, SEEK_SET);
for (i = file_size - 1; i >= 0; i--)
{
fseek(input_file, i, SEEK_SET);
if (fgetc(input_file) == '\n')
{
for (j = i + 1; j < file_size; j++)
{
fseek(input_file, j, SEEK_SET);
if (fgetc(input_file) != EOF)
fputc(fgetc(input_file), output_file);
}
fputc('\n', output_file);
file_size = i;
}
}
for (i = 0; i < file_size; i++)
{
fseek(input_file, i, SEEK_SET);
if (fgetc(input_file) != EOF)
fputc(fgetc(input_file), output_file);
}
fclose(input_file);
fclose(output_file);
printf("文件倒序输出成功!\n");
return 0;
}
```
在这个示例代码中,我们首先从用户输入中获取输入文件名和输出文件名。然后,我们打开输入文件和输出文件,并分别用指针变量 input_file 和 output_file 指向它们。
接下来,我们使用 fseek 函数将文件指针移动到文件末尾,再使用 ftell 函数获取文件大小。然后,我们将文件指针移动到文件开头,并使用 for 循环逆序遍历文件中的字符。
当我们找到一个换行符时,我们将从该行末尾开始遍历,并将字符写入输出文件中。在写入完整行后,我们将文件大小更新为上一行的起始位置。最后,我们将剩余的字符写入输出文件中。
最后,我们关闭输入文件和输出文件,并输出成功信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)