C语言 fopen&fclose

版权声明:本文为作者创作,转载请注明出处:http://blog.csdn.net/claroja,如有商业用途请联系QQ:63183535。 https://blog.csdn.net/claroja/article/details/88841121

1.文本文件:基于字符编码的文件
2.二进制文件:基于值编码的文件

读文件

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
	//注意:文件类型指针 不需要用户操作,每次读取字符后,光标都会后移
	FILE *fp = fopen("D:\\a.txt", "r");
	if (fp == NULL)
	{
		//1、找不到文件 2、没有权限 3、程序打开文件超出上限
		printf("文件打开失败!\n");
		return -1;
	}

	//文件操作
	printf("文件打开成功!\n");

	//读取文件结尾  结束标志 EOF  -1
	char ch;
	while ((ch = fgetc(fp)) != EOF)
	{
		printf("%c\n", ch);
	}
	//文件关闭
	fclose(fp);
	system("pause");
	return EXIT_SUCCESS;
}

写文件

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
	//1、以写的形式打开文件
	FILE * fp = fopen("../../a.txt", "w");
	//2、判断文件的可用性
	if (fp == NULL)
	{
		return -1;
	}
	//3、写文件||读文件

	fputc('a', fp);
	fputc('a', fp);

	//4、关闭文件
	fclose(fp);
	return 0;
}
打开模式 含义
r或rb 以只读方式打开一个文本文件(不创建文件,若文件不存在则报错)
w或wb 以写方式打开文件(如果文件存在则清空文件,文件不存在则创建一个文件)
a或ab 以追加方式打开文件,在末尾添加内容,若文件不存在则创建文件
r+或rb+ 以可读、可写的方式打开文件(不创建新文件)
w+或wb+ 以可读、可写的方式打开文件(如果文件存在则清空文件,文件不存在则创建一个文件)
a+或ab+ 以添加方式打开文件,打开文件并在末尾更改文件,若文件不存在则创建文件

2.在Windows平台下,以“文本”方式打开文件,不加b:
当读取文件的时候,系统会将所有的 “\r\n” 转换成 “\n”
当写入文件的时候,系统会将 “\n” 转换成 “\r\n” 写入
以"二进制"方式打开文件,则读\写都不会进行这样的转换

猜你喜欢

转载自blog.csdn.net/claroja/article/details/88841121