文件的IO操作
// 文件的IO操作之读写.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream FileWrite("C:\\Users\\hgq15\\Desktop\\File.txt");
if (FileWrite.is_open()) // 无论是is_open()还是good(),均可以判断文件是否成功打开
{
int i = 666;
FileWrite.write(reinterpret_cast<char*>(&i), sizeof(int)); // write第一个参数为开始写入text的第一个字符的地址,第二个参数是写入text内的字符个数,read用法一样。
FileWrite << "你好\r\n" << endl;
char str[] = "world\n";
FileWrite.write(str, sizeof(str));
FileWrite.put('&');
}
FileWrite.close();
// 怎么输入的,就怎么读出来,不然会出错
ifstream FileRead("C:\\Users\\hgq15\\Desktop\\File.txt");
if (FileRead.good())
{
int i = 0;
FileRead.read(reinterpret_cast<char*>(&i), sizeof(int));
cout << i << endl;
char hello[100] = { 0 };
FileRead.getline(hello, 100);
cout << hello << endl;
char world[100] = { 0 };
FileRead >> world;
cout << world << endl;
char str1;
FileRead.get(str1);
cout << str1 << endl; // str1读取的是换行符'\n',在显示屏幕上是看不见的,除非debug可以看见
}
以上展示了文件的输入输出操作:
输入操作(VS->文件):
用get写入text内一个字符,write写入text内一串字符或者数据,<<写入text内一串字符或者数据。在我看来用<<流操作符写普通字符或者其它基本类型的数据更加方便,因为流操作符可以不限长度的向文件内输入信息。
输出操作(文件->VS)
用put来获取text内的一个字符,read读取text内的一串字符或者数据,>>写出text内的一串字符或者数据。在我看来>>流操作运算符对于非二进制数据更加智能,因为流操作运算符可以根据变量的大小智能的向变量输入信息。