Maison >développement back-end >Tutoriel C#.Net >C++ implémente la lecture ligne par ligne des chaînes dans les fichiers txt et la copie du texte du fichier

C++ implémente la lecture ligne par ligne des chaînes dans les fichiers txt et la copie du texte du fichier

little bottle
little bottleoriginal
2019-04-27 13:58:096859parcourir

本篇文章主要讲述了用C++实现逐行读取txt文件中的字符串以及文件文本的复制,具有一定参考价值,感兴趣的朋友可以了解一下,希望对你的学习有所帮助。

逐行读取txt文件中的字符串,代码如下

#include <fstream>
#include <string>
#include <iostream>
using namespace std; 
int main()
{
	ifstream in("1.txt");
	string filename;
	string line;
	if(in) // 有该文件
	{
		while (getline (in, line)) // line中不包括每行的换行符
		{ 
			cout << line << endl;
		}
	}
	else // 没有该文件
	{
		cout <<"no such file" << endl;//温馨小提示,木有此文件
	}
	return 0;
}

文件文本的复制,将1.TXT中的内容复制到2.TXT,代码如下:

#include <fstream>
#include <string>
#include <iostream>
using namespace std;
void fileCopy(char *file1, char *file2)
{
	// 最好对file1和file2进行判断
	ifstream in(file1);
	ofstream out(file2);
	string filename;
	string line;
	while (getline (in, line))
	{ 
		out << line << endl;
	}
}
int main()
{
	fileCopy("1.txt", "2.txt");
	return 0;
}

上述程序只能针对文本文件(不仅仅是.txt),对其它类型的文件不适合。

本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。 

但是请一定注意linux和Windows文件格式的区别

       1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r。

       2. 当Windows上的代码读取linux格式文件时, 读取的结果会显示只有一行。

相关教程:C++视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn