簡體   English   中英

C ++ ifstream字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM