文件按行逆序的简单实现
来源:互联网 发布:sony签约网络经销商 编辑:程序博客网 时间:2024/06/05 02:17
前两天被同学问到一个简单的问题,将一个文本文件中的内容按行倒转过来,每行的内容不变。自己试了好一会,才发现C的FILE的那些操作都忘得差不多了。。。
一开始是准备创建一个新文件,读一行就往新文件里写一行,再把流位置重置为文件头,后来发现FILE的文件流不是insert的,而是直接覆盖。。失败了
一开始是准备创建一个新文件,读一行就往新文件里写一行,再把流位置重置为文件头,后来发现FILE的文件流不是insert的,而是直接覆盖。。失败了
只好先把文件内容先全部放在内存里,再rewind到文件流的头,倒序把内容写到文件中去。
#include "stdafx.h"#include <stdio.h>#include <malloc.h>int _tmain(int argc, _TCHAR* argv[]){FILE *p;char c;char *cp;char *ch[2000];int i = 0;ch[0] = (char*)(malloc(sizeof(char) * 2000));if( (p = fopen("D://temp.txt","r+")) != NULL ){i = 0;cp = ch[i];while( (c = fgetc(p)) != EOF){if( c != '\n' ){*(cp++) = c;}else{*(cp++) = '\0';ch[++i] = (char*)(malloc(sizeof(char) * 2000));cp = ch[i];}}//遇到文件结尾直接跳出while,所以手动添加一个'\0'*(cp) = '\0';rewind(p);while(ch[i] != NULL && i >= 0){fputs(ch[i--],p);fputc('\n',p);}}else{printf("文件无法找到!");}fclose(p);return 0;}
- 文件按行逆序的简单实现
- 单链表的逆序----简单实现
- 用AWK命令实现文件按行逆序
- c# 逆序读取文件的实现或者是逆序写文件
- Stack(栈)的简单应用——实现单词逆序
- 文件的逆序存储
- 文件的逆序存储
- 实现字符串的逆序
- Linux shell:文本的按行逆序和字符串逆序
- 加密文件简单的实现
- 简单实现文件的读写
- 简单的单链表<实现单链表的增删查改逆序和寻找中间节点>
- 链表的逆序实现
- java 实现单链表的逆序
- 递归实现字符串的逆序
- 递归实现字符串的逆序。
- 实现数字逆序的方法
- 字符串逆序输出的简单算法
- POJ 3250 Bad Hair Day -- 栈
- hdoj_1008 Elevator
- C 语言网络操作
- 【Transact-SQL】找出不包含字母、不包含汉字的数据
- flex 轮询通道配置的解释
- 文件按行逆序的简单实现
- 左右两部分 中间选择按钮(添加,删除)
- ImageLoader must be init with configuration before using 错误解决方法
- 异步POST请求和同步请求
- 5.12 QQ群里的第二次线下活动
- iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
- LCD和Camera各种分辨率
- unity3d学习笔记1
- 领悟