c++知识点---文件的简单读写

c++进行文件读写,都是基于对象,即用一个对象去关联一个文件。然后对象里面有各种函数可以操作文件,最简单的就是open和close(打开文件和关闭文件)

其中open函数有很多参数可以选择,即文件打开方式

文件打开方式:

ios::in        打开文件进行读操作,即读取文件中的数据

ios::out      打开文件进行写操作,即输出数据到文件中

ios::ate    打开文件时文件指针指向文件末尾,但是你可以在文件中的任何地方写数据

ios::app    打开文件不会清空数据,文件指针始终在文件末尾,因此只能在文件末尾写数据

ios:trunc   默认,若打开文件已存在,测清空文件的内容

ios::nocreate    若打开文件不存在则不建立,返回打开失败信息

ios::noreplace  打开文件时不能覆盖,若文件存在测返回打开失败信息

ios::binary        打开文件为二进制文件,否则为文本文件

扫描二维码关注公众号,回复: 1021023 查看本文章

注:ate 是 at end 的缩写,trunc是truncate(截断)的缩写,app是append(追加)的缩写

其中在新的标准中ios::nocreate 改成了ios::_Nocreate

ios::noreplace改成了ios::_Noreplace

main.cpp

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
	fstream in;//创建一个文件输入流对象
	in.open("K:\\file1.txt", ios::in | ios::_Nocreate);//文件输入流关联一个文件
	fstream out;//创建一个文件输出流对象
	out.open("K:\\file2.txt", ios::out | ios::_Nocreate|ios::trunc);
	if(!in)
	{
		cout << "in error\n";
	}
	if (!out)
	{
		cout << "out error\n";
	}

	char ch;
	while (in.get(ch))//从in关联的文件读取一个字符,如果没到文件结尾返回 1,否则返回 0
	{
		if (ch >= 'a' && ch <= 'z')
		{
			ch -= 32;//小写转换为大写
			out.put(ch);//输出到out对象所关联的文件
			continue;
		}
		out.put(ch);
	}


	in.close();//关闭输入流
	out.close();//关闭输出流
	system("pause");
	return 0;
}

使用软件:vs2015

猜你喜欢

转载自blog.csdn.net/tobe_numberone/article/details/78158692