- P143. C++文件操作——文本文件——写文件
- P144. C++文件操作——文本文件——读文件
- P143. 写文件
示例:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 #include <fstream> 5 6 //文本文件 写文件 7 8 void test01() 9 { 10 //1. 包含头文件 11 //2. 创建流对象 12 ofstream ofs; 13 //3. 打开文件 14 ofs.open("test.txt", ios::out); //如果不指定目录(第一个参数),文件被创建在了,与项目的cpp文件同级目录下 15 //4. 写数据 16 ofs << "姓名:张三" << endl; 17 ofs << "性别:男" << endl; 18 ofs << "年龄:18" << endl; 19 //5. 关闭文件 20 ofs.close(); 21 } 22 23 int main() 24 { 25 test01(); 26 return 0; 27 }
- P144. 读文件
(要有上P中创建出来的“test.txt”)
示例:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 #include <fstream> 5 6 //文本文件 读文件 7 8 void test01() 9 { 10 //1. 包含头文件 11 //2. 创建流对象 12 ifstream ifs; 13 //3. 打开文件并判断是否打开成功 14 ifs.open("test.txt", ios::in); 15 //判断是否打开成功 16 if (ifs.is_open()) { 17 cout << "文件打开成功" << endl; 18 } 19 else { 20 cout << "文件打开失败" << endl; 21 return; 22 } 23 //4. 读数据(4种方式) 24 25 //第一种 26 //自己测试发现:第一种方式为按行读取;但是如果此行有空格、制表符(多个空格和制表符 按一个空位算),就会在下一行输出 本行空格之后的内容 27 //char buf[1024] = { 0 }; //初始化 28 //while (ifs >> buf) { //当ifs中有数据并且没读完 29 // cout << buf << endl; 30 //} 31 32 //第二种 33 //自己测试发现:这种方式为按行读取;如果有空格或制表符,它会按文本文件中的样子输出 34 //char buf[1024] = { 0 }; 35 //while (ifs.getline(buf, sizeof(buf))) { //getline函数中的第一个参数类型是字符串地址(char*),第二个参数是 一行要读取多少个大小的空间 36 // cout << buf << endl; 37 //} 38 39 //第三种 40 //自己测试发现:这种方式为按行读取;如果有空格或制表符,它会按文本文件中的样子输出 41 string buf; 42 while (getline(ifs, buf)) { //第一个参数,输入流对象;第二个参数,string对象 43 cout << buf << endl; 44 } 45 46 //第四种(老师不推荐),一个一个字符读 47 //如果有空格或制表符,它会按文本文件中的样子输出 48 //char c; 49 //while ((c = ifs.get()) != EOF) { //EOF, end of file, 文件尾,括号里判断内容意思是 如果没有读到文件尾 50 // cout << c; //不用endl,它会自己读到回车 51 //} 52 53 //5. 关闭文件 54 ifs.close(); 55 } 56 57 int main() 58 { 59 test01(); 60 return 0; 61 }
(〃>_<;〃)(〃>_<;〃)(〃>_<;〃)
标签:146,文件,ifs,C++,P143,文本文件,include From: https://www.cnblogs.com/wjjgame/p/17154620.html