c语言中文件相关操作
2015-07-30 23:10
309 查看
一 .首先介绍一下数据文件的类型:
1.二进制文件(映像文件):在内存中以二进制形式存取。
2.文本文件(ascii文件):以ascii码形式存取的文件。
通俗的讲,在Mac下,你把一个文件丢进记事本里面,如果打开是乱码就是二进制文件。
二.其次是文件类型指针:
简单的说文件类型指针就是存储文件信息的地址。
文件类型指针变量:定义一个指针类型的变量,用来指向存储文件信息的地址。用FILE定义。比如: FILE * fp
三.文件操作步骤(c语言中所有用到的函数都是f开头的。):
1.打开文件 fopen()函数。fp=("文件名",“操作方法”)比如:fp=fopen("/user/wangdi/desktop/haha.txt","w")如下图(在Mac中将文件扔进终端就可以查看其文件路径。
2.读写文件(读取文件中字节。)
向文件写入信息用:
fputc()函数。一次写入一个字节。格式:fputc(数据的ascii码,文件流)。比如 fputc(97,fp).即是将97所对应的ascii码写入到fpz指向的文件中去。也就是把a写进去。如下图,利用循环讲字符串str中的字符串:12345写入文件:
从文件中读取信息:
fgetc(文件指针)。从文件中读取一个字节出来。注意:如果文件中是中文的话一次职能提取一个字节,所以提取出的是乱码。
如果用%d的形式提取出来是-1,表示文件结束,在实际开发中经常这么用:while((ch=fgetc(fp))!=-1){printf("%c",ch)}.如下图:
3.函数中用到的对文件的操作方法举例:
a: append的简写。追加文件:打开文件,光标移动到文件末尾,如果文件不存在则创建文件。
r.: read 的简写。 意思是读取文件:打开文件,如果文件不存在,则返回 null。
w: write 的简写,打开文件,文件存在则截断(清空文件),没有文件就创建文件。
a+,r+,w+等: 就是在原有的功能上加上可读可写的功能。这里不再一一介绍。
2.处理文件:使用函数往流中写数据,或者读取流中的数据。
3.关闭文件:fclose()函数。注意,程序中,每次调用函数都需要打开文件和关闭文件,也就是都需要用到fopen()和pclose()函数。
1.二进制文件(映像文件):在内存中以二进制形式存取。
2.文本文件(ascii文件):以ascii码形式存取的文件。
通俗的讲,在Mac下,你把一个文件丢进记事本里面,如果打开是乱码就是二进制文件。
二.其次是文件类型指针:
简单的说文件类型指针就是存储文件信息的地址。
文件类型指针变量:定义一个指针类型的变量,用来指向存储文件信息的地址。用FILE定义。比如: FILE * fp
三.文件操作步骤(c语言中所有用到的函数都是f开头的。):
1.打开文件 fopen()函数。fp=("文件名",“操作方法”)比如:fp=fopen("/user/wangdi/desktop/haha.txt","w")如下图(在Mac中将文件扔进终端就可以查看其文件路径。
2.读写文件(读取文件中字节。)
向文件写入信息用:
fputc()函数。一次写入一个字节。格式:fputc(数据的ascii码,文件流)。比如 fputc(97,fp).即是将97所对应的ascii码写入到fpz指向的文件中去。也就是把a写进去。如下图,利用循环讲字符串str中的字符串:12345写入文件:
从文件中读取信息:
fgetc(文件指针)。从文件中读取一个字节出来。注意:如果文件中是中文的话一次职能提取一个字节,所以提取出的是乱码。
如果用%d的形式提取出来是-1,表示文件结束,在实际开发中经常这么用:while((ch=fgetc(fp))!=-1){printf("%c",ch)}.如下图:
3.函数中用到的对文件的操作方法举例:
a: append的简写。追加文件:打开文件,光标移动到文件末尾,如果文件不存在则创建文件。
r.: read 的简写。 意思是读取文件:打开文件,如果文件不存在,则返回 null。
w: write 的简写,打开文件,文件存在则截断(清空文件),没有文件就创建文件。
a+,r+,w+等: 就是在原有的功能上加上可读可写的功能。这里不再一一介绍。
2.处理文件:使用函数往流中写数据,或者读取流中的数据。
3.关闭文件:fclose()函数。注意,程序中,每次调用函数都需要打开文件和关闭文件,也就是都需要用到fopen()和pclose()函数。
相关文章推荐
- c语言中文件相关操作
- C/C++ 常见面试题目 (一)
- 包含的结构的结构,2种方法实现
- 使用C语言,利用for循环打印菱形(每个相邻菱形都要带空格)
- 生理周期(c++实现)
- C++ 操作符赋值重载
- C语言VS编译环境中的resource file and source file的区别
- C语言实现双向链表删除节点、插入节点、双向输出等操作
- 单片机中C语言指针与变量
- C++中的运算符重载
- C++ 智能指针详解
- C++ 判断是大端存储还是小端存储
- 身份证校验(c++实现)
- 深入理解C语言
- C++延时程序
- 实例讲解C++中lambda表达式
- #Exception#Cpp引入异常的原因、关于异常的吐槽以及何时使用异常
- JNI编程(二) —— 让C++和Java相互调用(2)
- JNI编程(二) —— 让C++和Java相互调用(1)
- c++中的vector容器