`

读取file1的内容以行为单位倒置输出到file2中(改进)

阅读更多
/*
	功能:读取文件file1.txt的内容比如:
	12
	34
	56
	输出到file2.txt
	56
	34
	12
	备注:改进算法——本算法针对字符串也有效,
		  但长度受到1024的限制,也就是说,一行最
		  多不超过1024个字符,还得包括结束符'\0。
	日期:2009.12.30
	作者:网络牛人!
*/

#include <stdio.h>
/*递归调用的经典!!*/
void test(FILE *fread, FILE *fwrite)
{
    char buf[1024] = {0};
	
	/*fgets(char *buf, int size, FILE *stream)
	用来从参数stream所指的文件内
	读入字符并存到参数buf所指的内存空间,直
	到出现换行字符、读到文件尾或是已读了
	size-1个字符为止,最后会加上NULL作为
	字符串结束。
	*/
    if (!fgets(buf, sizeof(buf), fread))
        return;

    test( fread, fwrite );
    fputs(buf, fwrite);
}

int main(int argc, char *argv[])
{
        FILE *fr = NULL;
        FILE *fw = NULL;

        fr = fopen("data", "rb");
        fw = fopen("dataout", "wb");

        test(fr, fw);

        fclose(fr);
        fclose(fw);
        return 0;
}
0
0
分享到:
评论

相关推荐

    C语言精粹(第2版)随书关盘

    按【F3】键或者“File-&gt;Open”菜单命令,打开1.c文件, 按【Ctrl+F9】键,或者“Run-&gt;Run”菜单命令,编译运行该程序。 ◎ 光盘目录清单如下: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 ...

    C语言源代码格式化 完工 小文版本 V1.10 20120831 0955.zip

    功能:在指定目录下生成256个文件夹,每个文件夹内生成256个32K的文本文件,内容为“A”。 FileGenerate 20111121 1641.7z 功能: 猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统...

    C语言源代码格式化 完工 V1.08 20120801 1627.7z

    功能:在指定目录下生成256个文件夹,每个文件夹内生成256个32K的文本文件,内容为“A”。 FileGenerate 20111121 1641.7z 功能: 猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统...

    C语言源代码格式化 完工 V1.09 20120821 2116.7z

    功能:在指定目录下生成256个文件夹,每个文件夹内生成256个32K的文本文件,内容为“A”。 FileGenerate 20111121 1641.7z 功能: 猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统...

    220个C源代码 初学C语言必备

    源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以在001目录下找到), 拷贝到tc编译器目录下,运行tc.exe,打开编译器, 按【F3】键或者“File-&gt;Open”菜单命令,打开1.c文件, 按...

    C语言源代码格式化 完工 V1.04 20120226 1946.7z

    功能:在指定目录下生成256个文件夹,每个文件夹内生成256个32K的文本文件,内容为“A”。 FileGenerate 20111121 1641.7z 功能: 猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统...

    C 语言实例解析精粹(第二版)(书+盘)

    按【F3】键或者“File-&gt;Open”菜单命令,打开1.c文件, 按【Ctrl+F9】键,或者“Run-&gt;Run”菜单命令,编译运行该程序。 ◎ 光盘目录清单如下: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 ...

    C语言实例解析精粹(第二版) 光盘代码

    按【F3】键或者“File-&gt;Open”菜单命令,打开1.c文件, 按【Ctrl+F9】键,或者“Run-&gt;Run”菜单命令,编译运行该程序。 ◎ 光盘目录清单如下: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 ...

    C语言源代码格式化 完工 V1.05 20120229 1804.7z

    功能:在指定目录下生成256个文件夹,每个文件夹内生成256个32K的文本文件,内容为“A”。 FileGenerate 20111121 1641.7z 功能: 猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统...

    C语言常用算法

    155 读取DOS系统中的国家信息 156 修改环境变量 157 显示系统文件表 158 显示目录内容 159 读取磁盘文件 160 删除目录树 161 定义文本模式 162 设计立体窗口 163 彩色弹出菜单 164 读取CMOS信息 165 获取...

    C语言实例解析精粹

    155 读取DOS系统中的国家信息 156 修改环境变量 157 显示系统文件表 158 显示目录内容 159 读取磁盘文件 160 删除目录树 161 定义文本模式 162 设计立体窗口 163 彩色弹出菜单 164 读取CMOS信息 165 获取...

    asp.net知识库

    如何在DotNet 2的登录组件中检索用户的锁定状态及解锁? ASP.NET 2.0, 想说爱你不容易 SqlDataSource WEB控件:当DeleteCommandType= 遭遇 ASP.NET 2.0 只读 TextBox 回发后信息丢失的 bug asp.net2.0:扩展...

    C源代码实例集

    ◎ 文件说明 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 &lt;br&gt; ◎ 源码操作说明 &lt;br&gt; 源代码使用方法是(以实例1为例): 将该实例...

    C语言FAQ 常见问题列表

    * 2. 声明和初始化 o 2.1 我如何决定使用那种整数类型? o 2.2 64 位机上的 64 位类型是什么样的? o 2.3 怎样定义和声明全局变量和函数最好? o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底...

    亮剑.NET深入体验与实战精要2

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    你必须知道的495个C语言问题(PDF)

    以交换a 和b 的值。. . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5 我可否用括号来强制执行我所需要的计算顺序? . . . . . . . . . . 14 3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar())...

    亮剑.NET深入体验与实战精要3

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

Global site tag (gtag.js) - Google Analytics