文件使用方式 | 含义 |
---|---|
r | 只读,为输入打开一个文本文件 |
w | 只写,为输出打开一个文本文件 |
a | 追加,向文本文件尾增加数据 |
rb | 只读,为输入打开一个二进制文件 |
wb | 只写,为输出打开一个二进制文件 |
ab | 追加,向二进制文件尾增加数据 |
r+ | 读写,为读取或写入打开一个文本文件 |
w+ | 读写,为读取或写入建立一个新的文本文件 |
a+ | 读写,从文件中读取或写入数据 |
rb+ | 读写,为读或写打开一个二进制文件 |
wb+ | 读写,为读或写建立一个新的二进制文件 |
ab+ | 读写,从二进制文件中读取或写入数据 |
r: 读 ; w: 写 ; b:二进制 ;+:读写兼备。
文件操作的函数
项目 | Value |
---|---|
fopen() | 打开文件 |
fclose() | 关闭文件 |
fseek() | 改变文件位置指针的位置 |
rewind() | 使文件位置指针指向开头 |
ftell() | 返回文件位置指针的现在值 |
feof() | 文件末尾时,函数值为真 |
ferror() | 文件操作出错,函数值为真 |
clearerr() | 使feof()与ferror()置零 |
fget(),getc() | 从指定文件中去得一个字符 |
fputc(),putc() | 把字符输出到指定文件 |
fgets() | 从指定文件读取字符串 |
fputs() | 把字符串输出到指定文件 |
getw() | 从指定文件读取一个字 |
putw() | 把一个字输出到指定文件 |
fread() | 从指定文件中读取数据项 |
fwrite() | 把数据项写到指定文件中 |
fscanf() | 从指定文件按格式输入数据 |
fprintf() | 按指定格式将数据写到指定文件中 |
/*文件查找*/
#include<stdio.h>
#include<stdlib.h>
int main void()
{
FILE *fp;
if (fp = fopen("LH.txt", "r")) // 注意用的是r,所以放源码的文件中要存在所找文件
{
printf("Open success!\n");
}
else
{
printf("Can not open LH !\n");
system("pause");
}
}
/*文件写入*/
#include<stdio.h>
#include<stdlib.h>
int main void()
{
FILE *p;
char ch,filename[20];
printf("Please input the filename you want to write:");
scanf("%s",filename);
fp = fopen(filename, "wt+");
printf("Please input the sentences you want to write: ");
ch = getchar(); //可以自己尝试一下,如果只写一个会出现什么情况
ch = getchar();
while (ch != EOF) // 按ctrl + z 结束
{
fputc(ch, fp);
ch = getchar();
}
fclose(fp); //关闭文件,有始有终嘛
}
/*文件读出*/
#include<stdio.h>
#include<stdlib.h>
int main void()
{
FILE *fp;
char ch='0', filename[20];
printf("Please input the filename you want to write: ");
scanf("%s", filename);
if (!(fp = fopen(filename, "r")))
{
printf("Cannot open the file!\n");
exit(0); // 终止程序
}
else
{
printf("Open the file!\n");
}
while (ch != EOF) // 按ctrl + z,结束
{
ch = fgetc(fp); //将文件内容赋给ch
putchar(ch); //打印文件内容
}
fclose(fp); //有始有终才好
}
来源:oschina
链接:https://my.oschina.net/u/4340310/blog/4410429