精华内容
下载资源
问答
  • C++读写txt文件(基本操作1)

    万次阅读 多人点赞 2017-11-30 17:49:02
    本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。 本程序的功能是向Test.txt文件文件写入字符串"This is a Test12!"和读取字符串"This is a Test12!",并且将读取到的字符串存到temp...

    本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。

    本程序的功能是向Test.txt文件文件写入字符串"This is a Test12!"和读取字符串"This is a Test12!",并且将读取到的字符串存到temp变量(char型变量),且输出到控制台窗口进行显示。

    注意:

    1.1当创建ofstream对象后,可以像操作cout一样操作这个对象,也就是可以把ofstream的对象当做cout一样进行输出。

    1.2当创建ifstream对象后,可以像操作cin一样操作这个对象,也就是可以把ifstream的对象当做cin一样进行输入。

    一、用C++读写txt文件程序代码如下

    #include<iostream>
    #include<fstream>
    
    using namespace std;
    
    int main()
    {
    	// *************************写txt文件*******************************
    	//ofstream OutFile; //实例一个写文件对象
    	//OutFile.open("Test1.xlsx"); //创建一个Test.txt文本,并且打开Test.txt文件
    	ofstream OutFile("Test.txt"); //利用构造函数创建txt文本,并且打开该文本
    	OutFile << "This is a Test12!"; //把字符串内容"This is a Test!",写入Test.txt文件
    	OutFile.close(); //关闭Test.txt文件
    	// *************************读txt文件*******************************
    
    	ifstream readFile("Test.txt");
    	char temp[1024] = { 0 };
    	readFile >> temp; //遇到空格输出停止,空格后的内容无法输出,'\0'是截止符,如图3所示
    	//readFile.getline(temp, 8, 0); //可以输出空格,遇到delim符号才截止。 最后一个参数0表示文本框遇到空字符(ASCLL码为32,文本框不可能有空字符)截止符。不加第三个参数0时,表示'\n'为截止符('\n'也是换行符)。如图4所示
    	cout << temp << endl;
    	readFile.close();
    
    	system("PAUSE");
    
    	return 0;
    }

    二、程序执行结果

    执行txt文件程序后,在工程文件夹下面,将会生成一个Test文件,如图1所示。并且将字符串"This is a Test12!"写入Test.txt文本文件中,如图2所示。

    执行txt文件程序后,将从Test文本文件读取到的内容存到temp变量(char型变量)中,同时输出到控制台窗口,如图3和图4所示。图3只能输出连续字符串,遇到空格或者'/0'截止。图4将输出Test文本文件内所有内容,直到遇到delim才会截止输出。

    图1  生成Test文本

     

    图2  Test文本写入的内容

     

    图3  Test文本读出的内容('/0'是截止符)

    图4  Test文本读出的内容(delim是截止符)

    参考内容

    http://www.cnblogs.com/uniqueliu/archive/2011/08/03/2126545.html

    展开全文
  • #include <fstream> ...// 功能:将filename 中的数据(共cols列)读取到_vector中,_vector可视为二维数组 int read_scanf(const string &filename, const int &cols, vector<...

    C++ 从TXT文件中一行一行的读取数据并且保存到数组中

     

    这里使用了vector数组,以及new 动态数组,组成二维数组。

    fscanf(fp,"%lf", &rowArray[i]):获取文件中数据,并将其赋值给 rowArray[i],"%lf" 为双精度

    fscanf函数详解,参考:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107151385

     

    #include <fstream>
    #include <string>
    #include <iostream>
    #include <vector>
    using namespace std;
    
    // 功能:将filename 中的数据(共cols列)读取到_vector中,_vector可视为二维数组
    int read_scanf(const string &filename, const int &cols, vector<double *> &_vector)
    {
    	FILE *fp = fopen(filename.c_str(), "r");
    	bool flag = true;
    	int i = 0;
    	if (!fp) 
    	{ 
    		cout << "File open error!\n"; 
    		return 0; 
    	}
    
    	while (flag)
    	{
    		double *rowArray = new double[cols]; //new一个double类型的动态数组
    
    		for (i = 0; i < cols; i++) //读取数据,存在_vector[cols]中
    		{
    			if (EOF == fscanf(fp,"%lf", &rowArray[i]))
    			{ 
    				flag = false; 
    				break; 
    			}
    			//输出rowArray存入的数据
    			//cout << rowArray[0] << " " << rowArray[1] << " " << rowArray[2] << " " << rowArray[3] << endl;
    		}
    		if (cols == i) //将txt文本文件中的一行数据存入rowArray中,并将rowArray存入vector中
    			_vector.push_back(rowArray);
    	}
    	fclose(fp);
    	return 1;
    }
    int  main()
    {
            string file ="test.txt";
    	//txt文件中有4列
    	int columns = 4;
    	vector<double *> output_vector;
    	if (!read_scanf(file, columns, output_vector))
    	{
    		return 0;
    	}
    		
    	//output_vector可视为二维数组;输出数组元素:
    	int rows = output_vector.size();
    	for (int i = 0; i < rows; i++)
    	{
    		for (int j = 0; j < columns; j++) 
    		{ 
    			cout << output_vector[i][j] << " "; 
    		}
    		cout << endl;
    	}
    
    	system("pause");
    	return 0;
    }

    test.txt中的数据为:

    8 0 3 2
    8 0 3 25

    输出结果为:

     

    fscanf函数详解,参考:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107151385 

    展开全文
  • C++ 读写txt文件

    千次阅读 2018-08-16 21:35:51
    封装C++简单的类,用于读写txt文件。 代码如下: comFile.h #pragma once #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;...

    C++ 读写txt文件类

    封装一个C++简单的类,用于读写txt文件。

    代码如下:

    comFile.h

    #pragma once
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <vector>
    
    using namespace std;
    
    #define W  1        //write only
    #define ADD 2       //addition write
    
    class comFile
    {
    public:
        comFile();
        ~comFile();
    
        void write_txt(vector<string> info, string out_file, int Mode = 1);
        void read_txt(vector<string>& info, string in_file);
    };

    comFile.cpp

    #include "comFile.h"
    
    
    comFile::comFile()
    {
    }
    
    
    comFile::~comFile()
    {
    }
    
    void comFile::write_txt(vector<string> info, string out_file, int Mode)
    {
        int num = info.size();
    
        if (num <= 0)
        {
            cout << "write information is empty!!!please check input " << endl;
            return;
        }
    
        ofstream outfile;
    
        switch (Mode)
        {
        case 1:outfile.open(out_file.c_str());
            break;
        case 2:outfile.open(out_file.c_str(), ios::app);
            break;
        default:outfile.open(out_file.c_str());
            break;
        }
    
        if (!outfile.is_open())
        {
            cout << "open file :" << out_file << "has failed!!!!" << endl;
            return;
        }
    
        for (size_t i = 0; i < num; i++)
        {
            outfile << info[i] << "\r";
        }
    
        outfile.close();
        return;
    }
    
    void comFile::read_txt(vector<string>& info, string in_file)
    {
        //char buf[1024];
    
        ifstream file(in_file.c_str());
    
        if (!file.is_open())
        {
            cout << "open file :" << in_file << "has failed!!" << endl;
            return;
        }
    
        for (int i = 0; file.good() && !file.eof(); i++)
        {
            //memset(buf, 0, 1024);
            //file.getline(buf, 1024);      //读取的内容包含换行符
            //string message(buf);
    
            string message;
            file >> message;                //读取的内容不包含换行符
    
            cout << "comFile::read_txt--line :" << message << endl;
            info.push_back(message);
        }
    
        file.close();
        return;
    }

    main.cpp

    #include "comFile.h"
    #include <iostream>
    #include<string>
    #include<vector>
    
    using namespace std;
    
    int main()
    {
        comFile a;
    
        vector<string> information;
    
        char num[512];
        string  prefix = "前缀", after = "后缀";
        string fileName = "E:\\name.txt";
    
        for (int i = 0; i < 10; i++)
        {
            _itoa_s(i, num, 10);
            string order(num);
            string text = prefix + order + after + "\n";
    
            information.push_back(text);
        }
    
        a.write_txt(information, fileName);
        cout << "write done!!" << endl;
    
        vector<string> reread;
        a.read_txt(reread, fileName);
        cout << "read done!!" << endl;
    
        return 0;
    }


    运行结果:

    这里写图片描述

    展开全文
  • C++读取txt文件,直接定位到某一行

    千次阅读 2019-08-06 10:43:20
    问题:最近开发过程中,需要处理txt文件,想要定位到某一行操作时,通过按行读取移动标志位方法明显卡顿,如何解决卡顿问题? #include "stdafx.h" #include <sstream> #include <string> using ...
    • 问题:最近开发过程中,需要处理txt大文件,想要定位到某一行操作时,通过按行读取移动标志位方法明显卡顿,如何解决卡顿问题?
    #include "stdafx.h"
    #include <sstream> 
    #include <string> 
    
    using namespace std;
    
    ifstream & seek_to_line(ifstream & in, int line);
    
    int main()
    {
        string labels_txt="E:/bdd100k.txt";
        int line=100;//按逻辑修改行数
        ifstream file;
    	file.open(labels_txt);
        if (!file&&flag)
            cerr << "数据集标注txt文件不存在,检查路径!" << endl;
        seek_to_line(file, line);//定位到txt的指定行
        while (getline(file, data))//按行读取txt
    	{
            //操作
        }
       file.close();
    }
    
    //定位到txt文件的某一行
    ifstream & seek_to_line(ifstream & in, int line)
    //将打开的文件in,定位到line行。
    {
    	int i;
    	char buf[1024];
    	in.seekg(0, ios::beg);  //定位到文件开始。
    	for (i = 0; i < line; i++)
    	{
    		in.getline(buf, sizeof(buf));//读取行。
    	}
    	return in;
    }

     

    展开全文
  • C++ 读写TXT文件

    万次阅读 多人点赞 2018-07-28 16:36:31
    二、从txt文件读取二维数组(int 以及string) 三、从txt文件读取的数据存到struct中   参考博客:https://blog.csdn.net/u013749068/article/details/78761553  ...
  • C++读取txt文件夹时使用数据流的形式进行读取,具体操作如下: 头文件如下 #include <iostream> #include <vector> #include <string> #include <sstream> #include <fstream> #...
  • definitions.txt文件: hospital 10 floor floor 4 wing wing 2 long_corridor wing 1 connecting_corridor long_corridor 21 patient_room connecting_corridor 5 supply_room patient_room 2 bed patient_room 4 ...
  • C++读写txt文件

    千次阅读 2013-09-25 22:18:15
    C++Txt文件读取和写入 、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的个扩展集, 提供有缓冲的文件输入输出操作. ...
  • C++读写TXT文件

    千次阅读 2018-10-15 10:13:55
    C++读写TXT文件 文件的输入输出 fstream提供了三个类,用来实现c++文件的操作。(文件的创建、读、写)。 ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 fstream - 打开文件读写 文件打开...
  • C++ 读取 txt 文件件中某一行

    千次阅读 2019-09-02 18:49:26
    "Error 2: 文件不存在。" ; } while ( getline ( file , temp ) && i < line - 1 ) { i ++ ; } file . close ( ) ; return temp ; } int _tmain ( int argc , _TCHAR * argv [ ] )...
  • infile.open("CarPose.txt"); infile.getline(line, 1024); stringstream word(line); word >> x >> y >> z >> roll >> pitch >> yaw; cout (9) ; system("pause"); return 0; } ![结果]...
  • C++读写txt文件方式以及基于opencv的Mat数据类型读写txt文件
  • C++读取txt文件数据和列数据

    千次阅读 2020-03-30 21:16:43
    数据如下图:每一行的第一列是时间,后面的几列是附带的信息。如何读取特定行中的某些列数据。 基本思路:假设我们感兴趣的信息是第一列数据为“2019-01-20 23:43:29”后面的三列数据,将txt 文件按行读取后,通过...
  • C++读取txt文件

    万次阅读 2019-07-01 15:49:44
    行读取字符串,并(追加)写入另文件 注意:ifstream和ofstream的定义,ofstream里的ios::app,以及getline函数,“<<”重定向的使用。 int main() { ifstream myfile("in.txt"); ofstream outfile...
  • c++读取写入txt文件

    热门讨论 2011-03-13 21:31:03
    读取写入txt文件个小小的程序,用c++读取txt文件
  • C++读取txt文件获取txt文件行数

    万次阅读 2016-11-14 18:53:49
    int getNumberOfEdges() { char flag; int edgeNum,count; fp=fopen(fileName.c_str(),"rt+");//open the TXT file, can only read, cannot write while(!feof(fp)){ flag=fgetc(fp); if(flag=='\n') count
  • c++读取txt文件

    千次阅读 2016-10-28 18:53:33
    有如下data.txt文件 // how to read .txt file. 2013001 2 6 8 14 15 24 25 6 2013002 3 1 16 18 22 28 30 12 2013003 1 22 23 26 27 28 33 9 2013004 4 6 10 16 20 27 32 8 201300...
  • c++ 读取txt文件

    千次阅读 2014-08-28 11:00:33
    1,按行读取 // TEST_Read.cpp : 定义控制台应用程序的入口点。...//以下为读取文件种方法:将文件每行内容存储到字符串中,再输出字符串 using namespace std; int _tmain(int argc, _TCHAR* argv[]) {
  • 2.利用getline()怎么读取一行数据,换行符是否读入了? 3.怎么使用串流实现对string字符串的输入输出?   写数据到txt文件 //其中的setprecision()函数在头文件iomanip 中 void WriteBeamCoreToFile(string ...
  • #include #include #include using namespace std; int main() { ifstream fin; fin.open("word.txt"); string str; while (!fin.eof()) { getline(fin, str);...word.txt一行始终显示不出来。求解
  • c++中常常使用的读写函数有:ofstream,ifstream,fstream, 可以参见:http://blog.csdn.net/kingstar158/article/details/6859379/,http://blog.csdn.net/augusdi/article/details/8865378 在C++中,有个...
  • C++正确读取文件最后一行

    万次阅读 热门讨论 2018-08-26 08:00:59
    使用C++ ifstream来读取文件时,发现在读到文件结尾时会多读一行。测试代码如下, #include &amp;amp;amp;lt;iostream&amp;amp;amp;gt; #include &amp;amp;amp;lt;fstream&amp;amp;amp;gt; #...
  • C++ 读取txt文件方法读取速度比较

    千次阅读 2020-03-12 16:52:41
    文本文档中每一行代表一个三维坐标的x,y,z值,中间使用空格隔开 // fread.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // // read1 采用fread函数,按字符分配到vector数组 // read2 getline...
  • 1.讲tensorflow的参数存入txt文件存的模型与上篇博客一致,只是这次改用txt。numpy自带的写入文件函数支持维数组和二维数组的写入,但是卷积核这个是四维的,且shape为[卷积核高,卷积核宽,输入通道数,输出...
  • C++读取txt文件到vector并输出

    千次阅读 2020-05-18 17:34:16
    VS C++ 实现ifstream 读取txt文件并输出到txt #include<iostream> #include<fstream> #include<vector> #include<string> using namespace std; int main(){ vector<string> ...
  • txt文件,我想用数组读取其中前3000的第2,3,7列的数据该怎么办,
  • C++ 读取txt文件中,n两点坐标值

    千次阅读 2018-01-11 09:58:54
    个部分:txt数据是按照每行两个double型变量,中间只以空格分开 第二个部分:txt数据是严格按照坐标点的形式,中间以 ,分隔开 对于第种访问代码如下:double a1L; double a2L; int L = 1; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,321
精华内容 56,528
关键字:

c++读取txt文件每一行

c++ 订阅