文件(字符)读写
2016-07-01 14:12
267 查看
格式:
FILE *fp;
fp=fopen("E:\\C_program\\KeWai\\chap11\\ReadFile\\readtest.txt","r");
if(!fp) //fp==NULL
{
printf("can't open file readtest.txt\n");
exit(1);
}
结束之后要用fclose(fp)关闭文件
文本文件:
"r": 读
"w": 写
"a": 输出追加 //以a方式打开,文件不能读,可以在文件末尾追加
"r+": 以读/写方式打开一个文本文件
"w+": 以读/写方式创建一个新的文本文件
"a+": 以读/写追加方式打开一个文本文件
//可以读,也可以写,写是在文件末尾追加
二进制文件: (与文本不同的就是在后面加一个b)
"rb": 读一个二进制文件
"wb": 写
"ab": 输出追加
"rb+": 以读/写方式打开一个二进制文件
"wb+": 以读/写方式创建一个新的二进制文件
"ab+": 以读/写追加方式打开一个二进制文件
//可以读,也可以写,写是在文件末尾追加
字符写到文件中
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
FILE *fp;
//路径要用双斜杠,第一个是转义字符
fp=fopen("E:\\C_program\\KeWai\\chap11\\rwcharfile\\poem.txt","w"); //w以写方式打开文本文件
if(!fp)
{
printf("file cannot be opened\n");
exit(1);
}
printf("enter a text(end with '#'):\n");
//getchar()函数把输入的内容存在缓冲区,按回车键之后一个一个读取
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
return 0;
}
文件的读取
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
FILE *fp;
fp=fopen("E:\\C_program\\KeWai\\chap11\\wcharfile\\poem.txt","r");
if(!fp)
{
printf("file cannnot be opened\n");
exit(1);
}
//fgetc(fp)可以读取任何字符,包括换行 空格等
while((ch=fgetc(fp))!=EOF)
//循环的条件是文件没有结束,即读入的字符不是EOF,EOF是结束标志,EOF=-1
putchar(ch);
fclose(fp);
return 0;
}
文件结束也可以用feof(fp)判断
文件没有结束时,feof(fp)返回0,结束返回非零值
ch=fgetc(fp);
while( !feof(fp) ) //文件没结束,feof(fp)=0 !feof(fp)=1
{
put
4000
char(ch);
ch=fgetc(fp); //继续读下一个字符
}
相关文章推荐
- 201. Bitwise AND of Numbers Range
- C++, Define A Type Member
- C++11 | 正则表达式(1)
- C++类型转换----reinterpret_cast
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(15)——观察者模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(13)——中介者模式
- 设计模式C++实现(12)——备忘录模式
- C++覆盖特性在android源码中的实际应用
- 设计模式C++实现(11)——装饰模式
- 设计模式C++实现(9)——享元模式
- C++ typedef用法小结 (※不能不看※)
- C++类型转换----static_cast
- leetcode #165 in cpp
- 嵌入式C语言查表法的项目应用
- 嵌入式C语言查表法的项目应用
- 嵌入式C语言查表法的项目应用
- C语言获取Shell返回结果的实现方法
- C++的构造函数和析构函数