C++ C++;ifstream字符串
在一个文件中,每行都有一对名字。像这样:C++ C++;ifstream字符串,c++,string,fstream,ifstream,C++,String,Fstream,Ifstream,在一个文件中,每行都有一对名字。像这样: string pairs[100]; ifstream inFile("duom.txt"); int n; //how many pairs inFile >> n; for(int i=1;i<=n;i++){ inFile >> pairs[i]; } 约翰·戴夫 安托万·格尔达 莎拉数学 等等 我想做的是将这一对输出为一个字符串。像这样: string pairs[100]; ifstream inFil
string pairs[100];
ifstream inFile("duom.txt");
int n; //how many pairs
inFile >> n;
for(int i=1;i<=n;i++){
inFile >> pairs[i];
}
约翰·戴夫
安托万·格尔达
莎拉数学
等等
我想做的是将这一对输出为一个字符串。像这样:
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,这对您的任务很好,而在于索引。你应该从0开始
for(int i=0;i < n;i++){
getline(inFile, pairs[i]);
}
for(int i=0;i
编辑:正如Kerrek SB所指出的,可能存在错误。在
infle>>n
之后,我们应该跳过换行:添加一个伪getline(infle,pairs[0])
可以摆脱它。问题不在于getline,它对您的任务很好,而在于索引。你应该从0开始
for(int i=0;i < n;i++){
getline(inFile, pairs[i]);
}
for(int i=0;i
编辑:正如Kerrek SB所指出的,可能存在错误。在
infle>>n
之后,我们应该跳过换行:添加一个伪getline(infle,pairs[0])
可以摆脱它。但是,在混合getline
和>
时,你必须小心。但是,在混合getline
和>
时,你必须小心。可能的重复