c语言中的fopen()函数


c primer plus 第六版的第十三章的课后练习第二题 (13.11 #2)


题目:编写一个文件拷贝程序,该程序通过命令行获取原始文件名和拷贝文件名。尽量使用标准的 I/O 和二进制模式。


首先呢,命令行就是利用windows里面(博主用的是win电脑)的命令提示符来给写好的c程序传递参数。


这里先上代码:


思路:

            首先我需要打开一个文件,需要一个文件指针 FILE* fp1;

            然后我要打开这个文件

            打开失败则关闭程序 exit()

            同样的,另一个文件用来接收,也需要打开,步骤如上

都打开成功以后,我就要进行拷贝;

            这时候我需要一个过渡变量 ch;

            先让 fp1 文件里面的内容转移到 ch 里面 getc;

            再让 ch 里面的内容转移到 fp2 文件里面 putc;

最后一步

            关闭两个程序fclose;

ps:main函数里面要有两个参数agrc 和 agrv,第一个agrc是int类型,用来计数,第二个agev是指针数组,在这个程序中可以用来作为文件名称,用来打开函数。


整个程序都编好以后我就要测试一下

我弄了两个文本


第一个是test1,里面有一句话(这句话最后拷到第二个文件里面)


第二个是test2(待写入的文件);


打开win的命令提示符(win+R   输入cmd)



首先我们要先把地址转移到exe所在的文件夹下

我的文件夹位置是这样的:C:\C语言\test2

就在命令提示符里面cd过去


然后就输入 main.exe test11.txt test12.txt


这里呢 第一个是要打开的程序名称,第二个是有内容待拷贝的文件名称,第三个是待接收的文件名称。


{ps:这里千万要记得把文件的后缀给打上去!!!博主一开始忘记了结果搞半天也是出错!!!后来发现居然忘记后缀!瞬间感觉自己智商堪忧(哭丧脸)!!}




这样子程序就成功了



(这个程序我参照着书里面程序清单13.1来写的,有什么错误请大家指出来!)

(感激!!)



猜你喜欢

转载自blog.csdn.net/Big_Head_/article/details/77689149