將文本文件讀入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