C语言 逆序显示文本内容并保存
来源:互联网 发布:高级算法 编辑:程序博客网 时间:2024/05/16 18:11
【说明】
对指定文件中的内容或传入的字符串参数逆序打印并保存到文件中。
【命令行示例】
[root@localhost]$ ./reverseStr test.txt
这条命令的含义是读取 ./test.txt 文件中的内容,将文件内容顺序反向存储到 outPut.txt 文件中。
[root@localhost]$ ./reverseStr "Hello world"
这条命令的含义是将 "Hello world" 逆序打印到控制台,并存储到文件 outPut.txt 文件中。
【源码】
#include <stdio.h>#include <string.h>#include <stdlib.h>int main(char argc, char **argv){ FILE *pFileRead = NULL; char *pstrTarget = NULL; char cRead; unsigned long ulCountWord = 0; char *pstrContent = NULL; char *pstrReverse = NULL; FILE *pFileOutput = NULL; if(argc == 2){ pstrTarget = argv[1]; if(strstr(pstrTarget, ".txt")){ // 传入参数是文件名 if(NULL == (pFileRead = fopen(pstrTarget, "r"))){ printf("open file %s error!\n", pstrTarget); }else{ while(EOF != fscanf(pFileRead, "%c", &cRead)){ ++ulCountWord; } printf("%ld bytes been read.\n", ulCountWord); pstrContent = (char *)malloc((size_t)ulCountWord); fseek(pFileRead, 0, SEEK_SET); printf("%d items been read.\n", fread(pstrContent, sizeof(char), (size_t)ulCountWord, pFileRead)); pstrReverse = pstrContent; printf("content: %s\n", pstrReverse); pstrReverse += ulCountWord - 1; if(NULL == (pFileOutput = fopen("outPut.txt", "w"))){ printf("open file reverseOut.txt error!\n"); }else{ for( ;ulCountWord > 0; ulCountWord--){ fprintf(pFileOutput, "%c", *pstrReverse); --pstrReverse; } fprintf(pFileOutput, "%c", *pstrReverse); fclose(pFileOutput); } free(pstrContent); fclose(pFileRead); } }else{ // 传入参数是字符串内容 ulCountWord = (unsigned long)strlen(pstrTarget); pstrReverse = pstrTarget; printf("content: %s\n", pstrReverse); pstrReverse += ulCountWord; for( ; ulCountWord > 0; ulCountWord--){ printf("%c", *pstrReverse); --pstrReverse; } printf("%c\n", *pstrReverse); } }else{ printf("invalid argument, which should be a filename or a string.\n"); } return 0;}
0 0
- C语言 逆序显示文本内容并保存
- C语言向文件写入内容并读取显示
- c语言 逆序 输出文件内容
- 用c语言输入学生信息保存到文件中并读取文件内容
- matlab读取txt文本内容修改并保存到txt
- C语言实现文本语句以单词为单位逆序
- 【语言-C++】 Clipboard(剪贴板)2-监听剪贴板并直接显示剪贴板内容到窗口
- base64:保存二进制图片内容并显示测试
- Android 监听EditText控件文本变化并修改显示内容
- C语言实现字符串拷贝并逆序的问题
- 保存EditText的文本内容
- 保存EditText的文本内容
- linux下,用c语言编程,实现从一个文件读取内容到另一个文件,可以在文件的不同位置修改文件内容,并保存。
- C语言-字符串逆序
- C语言单链表逆序
- 【C语言】 字符串逆序
- LINUX C语言,在文本中某一行插入内容
- C++:文本内容复制
- LeetCode 228. Summary Ranges
- 拓扑排序的一道题
- DP 动态规划 Problem D 1004 丑数
- LVS & Nginx 的区别与优缺
- 教你如何制作PowerPoint拼图效果
- C语言 逆序显示文本内容并保存
- 多线程(-)概念
- xml解析
- Android中OKHttp框架的使用
- Java - PAT - 1019. 数字黑洞 (20)
- Mysql新建用户和数据库并授权
- 阅读程序并写出执行结果
- HDR功能预研
- xml解析