当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ fopen()用法及代码示例


C++中的fopen()函数以某种模式打开指定的文件。

fopen()原型

FILE* fopen (const char* filename, const char* mode);

fopen() 函数接受两个参数并返回与参数文件名指定的文件关联的文件流。

它在<cstdio> 头文件中定义。

不同类型的文件访问方式如下:

文件访问模式 解释 如果文件存在 如果文件不存在
"r" 以读取模式打开文件 从头开始阅读 Error
"w" 以写入模式打开文件 删除所有内容 创建新文件
"a" 以追加模式打开文件 从头开始写 创建新文件
"r+" 以读写模式打开文件 从头开始阅读 Error
"w+" 以读写模式打开文件 删除所有内容 创建新文件
"a+" 以读写模式打开文件 从头开始写 创建新文件

参数:

  • filename:指向包含要打开的文件名的字符串的指针。
  • mode :指向指定文件打开模式的字符串的指针。

返回:

  • 如果成功,fopen() 函数将返回一个指针,指向控制打开的文件流的 FILE 对象。
  • 失败时,它返回一个空指针。

示例 1:使用 fopen() 以写入模式打开文件

#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
	int c;
	FILE *fp;
	fp = fopen("file.txt", "w");
	char str[20] = "Hello World!";
	if (fp)
	{
		for(int i=0; i<strlen(str); i++) 
			putc(str[i],fp);
	}
	fclose(fp);
}

当你运行程序时,它不会产生任何输出,而是会写“Hello World!”。到文件"file.txt"。

示例 2:使用 fopen() 以读取模式打开文件

#include <cstdio>

using namespace std;

int main()
{
	int c;
	FILE *fp;
	fp = fopen("file.txt", "r");
	if (fp)
	{
		while ((c = getc(fp)) != EOF)
			putchar(c);
		fclose(fp);
	}
	return 0;
}

运行程序时,输出将是 [假设与示例 1 中的文件相同]:

Hello World!

示例 3:使用 fopen() 以追加模式打开文件

#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
	int c;
	FILE *fp;
	fp = fopen("file.txt", "a");
	char str[20] = "Hello Again.";
	if (fp)
	{
		putc('\n',fp);
		for(int i=0; i<strlen(str); i++) 
			putc(str[i],fp);
	}
	fclose(fp);
}

当您运行该程序时,它不会生成任何输出,但会在文件"file.txt" 的换行符中追加"Hello Again"。

相关用法


注:本文由纯净天空筛选整理自 C++ fopen()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。