[英]C++ ifstream string
在文件中,每行上都有一對名稱。 像這樣:
約翰·戴夫
安托萬·格達
薩拉·馬特(Sara Math)
等等...
我想做的就是將那對輸出為一個字符串。 像這樣:
string pairs[100];
ifstream inFile("duom.txt");
int n; //how many pairs
inFile >> n;
for(int i=1;i<=n;i++){
inFile >> pairs[i];
}
這是行不通的,因為它會對空間產生反應。
getline(inFile,pairs[i]);
是不可接受的,因為它會在之后跳過代碼。
所以我的問題是:是否有可能將這兩個名字讀成一個字符串?
問題不在於getline,這對您的任務很好,但是對索引很重要。 你應該從0開始
for(int i=0;i < n;i++){
getline(inFile, pairs[i]);
}
編輯 :如Kerrek SB所述,可能存在錯誤。 在inFile >> n
我們應該跳過換行符:添加一個虛擬的getline(inFile, pairs[0]);
可以擺脫它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.