将文本文件读入C++程序我正在处理,并将每个字符串存储在双节点列表的节点中。问题是,我不知道如何将一条线分成较小的字符串,将它们分隔开。将字符串从文本输入分割成更小的字符串
例如,一个输入
“鸭子唐纳德940-666-5678”
,我试图把它分成lastname
串,串firstname
和phnum
在空白处的字符串。结果本质上是:
lastname==Duck
firstname==Donald
phnum==940-666-5678
我该怎么做?
将文本文件读入C++程序我正在处理,并将每个字符串存储在双节点列表的节点中。问题是,我不知道如何将一条线分成较小的字符串,将它们分隔开。将字符串从文本输入分割成更小的字符串
例如,一个输入
“鸭子唐纳德940-666-5678”
,我试图把它分成lastname
串,串firstname
和phnum
在空白处的字符串。结果本质上是:
lastname==Duck
firstname==Donald
phnum==940-666-5678
我该怎么做?
虽然我不知道你怎么提取这些数据,我相信你应该能够使用>>
运营商。
例子:
string lastname;
string firstname;
string phnum;
ifstream myFile;
myFile.open("example.txt");
myFile >> lastname >> firstname >> phnum;
我不太清楚你是如何从你的文件中读取的,但这段代码可能对你有帮助。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while (getline (myfile,line))
{
istringstream iss(s);
do
{
string sub;
iss >> sub;
cout << "Substring: " << sub << endl;
} while (iss);
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
确保前问搜索#1 /谷歌,因为你可以找到你的答案真的轻松很多次(见我的资源)
资源:http://www.cplusplus.com/doc/tutorial/files/,Split a string in C++?
你尝试过这么远吗?它是如何(或没有)它的工作?你知道输入运算符'>>'将输入分隔为空白吗? – 2015-02-11 15:17:02
不,其实,我不知道。已经使用C++三年了,而且我仍然在学习东西。给我一点时间,我测试了一下。 – 2015-02-11 15:26:21