#include <stdlib.h>
int main()
{
FILE *pf = fopen("a.txt", "返逗绝r")
if(pf == NULL) {
printf("open a.txt file failed!\n")
exit(0)
}
FILE *pf2 = fopen("b.txt", "w")
if(pf2 == NULL) {
printf("open b.txt file 漏姿failed!\n")
fclose(pf)
exit(0)
}
char ch
while(!feof(pf)) {
ch = fgetc(pf)
putchar(ch)
fputc(ch, pf2)
}
fclose(pf2)
fclose(pf)
return 指陪0
}
既然得到了这文件指针,你想怎么打开都行,无需知道以前是什么模式。用open更新你想要的打开方式。
o_rdonly
以只读方式打开文件
o_wronly
以只写方式打开文件
o_rdwr
以可读写方式打开文件。上述三种旗标是互斥的,
也就是不可同时使用,
但可与下列的旗标利用or(|)运算符组合。
o_creat
若欲打开的文件不存在则自动建立该文件。
o_excl
如果o_creat
也被设置,
此指令会去检查文件是否存在。文件若不存在则建立该文件,
否则将导致打开文件错误。此外,
若o_creat与o_excl同时设置,
并且欲打开的文件为符号连接,
则会打开文件失败。
o_noctty
如果欲打开的文件为终端机设备时,
则不会将该终端机当成进程控制终端机。
o_trunc
若文件存在并且以可写的方式打开时,
此旗标会令文件长度清为0,
而原来存于该文件的资料也会消失。
o_append
当读写文件时会从文仔卜件尾开始念哪穗移动,
也就是所写入的数据会以附加的方式加入到文件后面。
o_nonblock
以不可阻断的方式打开文件,
也就是无论有无数据读取或等待,
都会立即返回进程之中。
o_ndelay
同o_nonblock。
o_sync
以同步的方式打开文件。
o_nofollow
如果参数pathname
所指的文件为一符号连接,
则会令打开文件失败。
o_directory
如果参数pathname
所指的文件并非为一目录,
则会令打开文件失败。
这是你要的
r
打开只读文件,
该文件必须存在。
r+
打开可读写的文件,
该文件必须存在。
w
打开只写文件,
若文件存在则文件长度清为0,
即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,
若文件存在则文件长度清为零,
即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,
则会建立该文件,
如果文件存在,
写入的数据会被加到文件尾,
即文件原先的内容会被保留。
a+
以附加方式打开可读写的文件。若文件不缓者存在,
则会建立该文件,
如果文件存在,
写入的数据会被加到文件尾后,
即文件原先的内容会被保留。
gcc first.C -o first说明:
1>编译当前目录下、名字叫做first.C的c源文件;
2>在当前目录下、生成返亩名字叫first(这个纳世念名字可以自己随便写、符合linux命名规则就行)的可执行程序;
关于运行:
用ls -l 命令,可以看到当前目录下洞困有一个绿色的文件、名字叫first,就是刚刚编译得到的文件;
使用命令“./first”既可运行(无双引号、双引号是用来说明的);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)