c语言文本文件操作
来源:互联网 发布:知行论坛 编辑:程序博客网 时间:2024/06/12 23:59
C语言文件操作模式:
1) 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
+: 读和写
2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
3) 用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,
若打开的文件已经存在,则将该文件删去,重建一个新文件。
4) a 打开只写文件,如果文件不存在,建立文件, 写入追加
5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判
别是否完成打开文件的工作,并作相应的处理
==========================================================
1.逐行写入代码fputs
// 逐行写入代码fputsint main(int argc, char *argv[]){ const char ch[1024]="xiaoming\n"; const char ch1[1024]="小黑\n"; const char ch2[1024]="小邓\n"; FILE* p= fopen("D://temp//a.txt","w"); fputs(ch,p); fputs(ch1,p); fputs(ch2,p); fclose(p); printf("%s\n",ch);}
2.逐行读取代码feof、fgets
int main(int argc, char *argv[])
{
char ch[1024] = { 0 };
FILE* p = fopen(“D://temp//a.txt”, “r”);
while (!feof(p)){//如果没有到文件结尾,那么就一直循环
memset(ch, 0, sizeof(ch));
fgets(ch, sizeof(ch), p);
printf(“%s”, ch);
}
fclose(p);
system(“pause”);
}
**3. 逐行读取字符串加密、字符串解密**void code(char *s){while (*s)//遍历一个字符串{(*s)++; // 文件的 加密,为每一个字符串都加1s++;}}void decode(char *s){while (*s)//遍历一个字符串{(*s)--;s++;}} int main03(){ char s[1024] = { 0 }; FILE *p = fopen("D:\\temp\\a.txt", "r");//用读的方式打开一个文件 FILE *p1 = fopen("D:\\temp\\b.txt", "w");//用写的方式打开一个文件 //feof(p);//如果已经到了文件结尾,函数返回真 while (!feof(p))//如果没有到文件结尾,那么就一直循环 { memset(s, 0, sizeof(s)); fgets(s, sizeof(s), p);//第一个参数是一个内存地址,第二个参数是这块内存的大小,第三个参数是fopen返回的文件指针 code(s);// fputs(s, p1); } fclose(p); fclose(p1); return 0;}int main04(){ char s[1024] = { 0 }; FILE *p = fopen("D:\\temp\\b.txt", "r");//用读的方式打开一个文件 FILE *p1 = fopen("D:\\temp\\c.txt", "w");//用写的方式打开一个文件 //feof(p);//如果已经到了文件结尾,函数返回真 while (!feof(p))//如果没有到文件结尾,那么就一直循环 { memset(s, 0, sizeof(s)); fgets(s, sizeof(s), p);//第一个参数是一个内存地址,第二个参数是这块内存的大小,第三个参数是fopen返回的文件指针 decode(s);// fputs(s, p1); } fclose(p); fclose(p1); return 0;}
4.逐字节读取: getc, 中文乱码
int main05(){ FILE *p = fopen("D:\\temp\\a.txt", "r");//用读的方式打开一个文件 char c = 0; while ((c=fgetc(p)) != EOF){ //EOF代表文件最后的一个结束标示 printf("%c\n", c); } fclose(p); system("pause"); return 0;}// 逐字节写入: putcint main06(){ FILE *p = fopen("D:\\temp\\a.txt", "w");//用读的方式打开一个文件 if (p == NULL) { printf("error\n"); } else { putc('a', p); putc('b', p); putc('c', p); fclose(p); } system("pause");}
- c语言文本文件操作
- C语言实现对文本文件的操作
- C语言文本文件解析
- C MFC文本文件操作
- 文本文件操作(C#)
- 用c语言读取文本文件
- 用C语言读取文本文件
- C语言---超大文本文件排序
- C语言之文件操作02——输出文本文件中的内容显示在屏幕上
- C语言之文件操作06——写数据到文本文件遇0停止
- C语言之文本文件与二进制文件
- C语言二进制文件和文本文件的区别
- [代码实例][C语言]读取文本文件
- [代码实例][C语言]写入文本文件
- C语言:将数据保存到文本文件
- 浅谈C语言中文本文件与二进制文件
- C语言--将数据输出到文本文件
- 转载:C/MFC - 文本文件的简单操作
- [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:qqs' d
- 中国合伙人正能量语句
- Java开发达人必备的11个技术网站
- PAT乙级1056. 组合数的和(15)
- 用户鼠标点击屏幕一个链接后发生了什么
- c语言文本文件操作
- CPU 与 GPU 的介绍
- ALV自定义搜索
- 1069: 向Z同学学习
- 序列的获取
- 一位资深程序员大牛给予Java初学者的学习路线建议
- leetcode 37. Sudoku Solver
- CodeForces 133 A.HQ9+(水~)
- 在ubuntu中更新cmake与curl