之前已经对文件有了一些基本的了解,比如文件的定义,类型等,最重要的是关于C语言中对文件进行操作时的打开和关闭.
C语言文件操作的基本认识(文件是什么,文件的类型,文件指针,文件的打开和关闭)
接下来就来看C语言中对于文件的读写操作.
字符输入函数和字符输出函数
fgetc与fputc(每次获取一个字符)
先来看fgetc,fgetc是从文件中获取一个字符
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main(){
FILE* fpr = NULL;
char c;
fpr = fopen("C:\\Users\\lenovo\\Desktop\\1.txt", "r");
if (fpr == NULL){
printf("open fail!\n");
system("pause");
return 0;
}
c = fgetc(fpr);
printf("%c\n", c);
fclose(fpr);
fpr = NULL;
system("pause");
return 0;
}
注意以"r"的方式去打开一定要确保该文件存在,否则会打开失败.
fputc是往文件中写入一个字符
#define _CRT_SECURE_NO_WARNINGS
#include
#include
//fputc往文件中写入一个字符
int main(){
FILE* fpw = NULL;
fpw = fopen("C:\\Users\\lenovo\\Desktop\\2.txt", "w");
if (fpw == NULL){
printf("open fail!\n");
}
fputc('a', fpw);
fclose(fpw);
fpw = NULL;
system("pause");
return 0;
}
如果2.txt文件不存在就会在指定位置创建该文件并将字符’a’写进去,如果该文件本身就存在并且有内容,会将原来的内容删掉将新字符写入.
当然,如果是以追加(“a”)的方式打开,就会将新字符直接拼接在原文件内容的末尾.
文本行输入输出函数
fgets和fputs是在文件中获取字符串喝写入字符串的函数.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
//fgets,从文件中获取字符串
int main(){
FILE* fpr = NULL;
char str[20];
fpr = fopen("C:\\Users\\lenovo\\Desktop\\1.txt", "r");
if (fpr == NULL){
printf("open fail!\n");
}
fgets(str, 5, fpr);
for (int i = 0; i < 5; ++i){
printf("%c ", str[i]);
}
fclose(fpr);
fpr = NULL;
system("pause");
return 0;
}
这样我们可以将从文件中获取到的字符串的每个字符打印出来,修改之后可以直接输出字符串.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
//fputs,往文件中写入字符串
int main(){
FILE* fpw = NULL;
fpw = fopen("C:\\Users\\lenovo\\Desktop\\2.txt", "w");
fputs("hello world", fpw);
fclose(fpw);
fpw = NULL;
system("pause");
return 0;
}