C++读写TXT文件中的string或者int型数据以及string流的用法 您所在的位置:网站首页 int英文怎么读 C++读写TXT文件中的string或者int型数据以及string流的用法

C++读写TXT文件中的string或者int型数据以及string流的用法

2024-07-12 23:57| 来源: 网络整理| 查看: 265

    对文件的读写操作是我们在做项目时经常用到的,在网上看了很多博客,结合自身的项目经验总结了一下,因此写了这篇博客,有些地方可能直接从别的博客中复制过来,但是都会注明出处。

 

  一、文件的输入输出

      fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。

      ifstream -- 从已有的文件读入

      ofstream -- 向文件写内容

      fstream - 打开文件供读写

     文件打开模式:

     ios::in             只读

     ios::out            只写

     ios::app            从文件末尾开始写,防止丢失文件中原来就有的内容

     ios::binary         二进制模式

     ios::nocreate       打开一个文件时,如果文件不存在,不创建文件

     ios::noreplace      打开一个文件时,如果文件不存在,创建该文件

     ios::trunc          打开一个文件,然后清空内容

     ios::ate            打开一个文件时,将位置移动到文件尾

     文件指针位置在c++中的用法:

     ios::beg   文件头

     ios::end   文件尾

     ios::cur   当前位置

     例子:

     file.seekg(0,ios::beg);   //让文件指针定位到文件开头 

     file.seekg(0,ios::end);   //让文件指针定位到文件末尾 

     file.seekg(10,ios::cur);   //让文件指针从当前位置向文件末方向移动10个字节 

     file.seekg(-10,ios::cur);   //让文件指针从当前位置向文件开始方向移动10个字节 

     file.seekg(10,ios::beg);   //让文件指针定位到离文件开头10个字节的位置

    注意:移动的单位是字节,而不是行。

    常用的错误判断方法:

    good()   如果文件打开成功

    bad()   打开文件时发生错误

    eof()    到达文件尾

    以上内容参考自:http://www.cnblogs.com/helinsen/archive/2012/07/26/2609251.html

    下面给出一个例子,读取hello.txt文件中的字符串,写入out.txt中:

  

#include #include #include #include using namespace std; int main() { ifstream myfile("G:\\C++ project\\Read\\hello.txt"); ofstream outfile("G:\\C++ project\\Read\\out.txt", ios::app); string temp; if (!myfile.is_open()) { cout weight; cost[v][w] = weight; cost[w][v] = weight; } infile.close(); //关闭文件 outfile.open("G:\\C++ project\\Read\\result.txt", ios::app); //每次写都定位的文件结尾,不会丢失原来的内容,用out则会丢失原来的内容 if(!outfile.is_open ()) cout weight; cost[v][w] = weight; cost[w][v] = weight; Num_3--; } while (Num_2 != 0) // 读取3个数据的 { infile >> v >> w; cost[v][w] = 100; cost[w][v] = 100; Num_2--; } infile.close(); //关闭文件 outfile.open("G:\\C++ project\\Read\\result.txt", ios::out); //每次写都定位的文件结尾,不会丢失原来的内容,用out则会丢失原来的内容 if(!outfile.is_open ()) cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有