在文本文件中读取我正在处理的C ++程序,并将每个字符串存储在节点中以用于双链表。问题是,我不知道如何将一条线分成更小的字符串,将它们分隔在空格所在的位置。
例如,一个输入是
“Duck Donald 940-666-5678”
我试图将其拆分为lastname
字符串,firstname
字符串和空格中的phnum
字符串。结果基本上是:
lastname==Duck
firstname==Donald
phnum==940-666-5678
我该怎么做?
答案 0 :(得分:1)
虽然我不确定您是如何提取这些数据的,但我相信您应该能够使用>>
运算符。
示例:
string lastname;
string firstname;
string phnum;
ifstream myFile;
myFile.open("example.txt");
myFile >> lastname >> firstname >> phnum;
答案 1 :(得分:0)
我不太确定您是如何从您的文件中读取的,但这段代码可能对您有帮助。
#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;
}
请务必在询问之前搜索Stackoverflow / Google,因为您可以轻松地多次找到答案(请参阅我的资源)
资源:http://www.cplusplus.com/doc/tutorial/files/,Split a string in C++?