我希望任何人都能帮助我,或者至少了解我想要实现的目标。 我尝试在网上搜索这个,我没有找到答案,或者至少不明白别人做了什么。
所以,我试图从file.txt读取每一行到一个数组。 例如,我的file.txt包含:
3
labas
ka tu
nu tai davai
(仅举例)
我想让每一行都进入我的
string sentenses[CMax];
(CMax设置为10000)
经过几个小时的搜索网络并自己修修补补,我最终得到了:
ifstream KC;
KC.open(langPicked.c_str());
KC >> m;
for (int o = 0; o < m; o++) {
KC.getline(sentenses[o], 255);
if(KC) cout << sentenses[o] << endl;
}
KC.close();
但是,令人惊讶的是,它不起作用。
我正在努力实现的是,每一行(来自KC)都会被添加到&gt;&gt; sentenses [o]数组所以我可以cout我希望的行,例如,如果我键入:
cout << sentenses[2] << endl;
它将输出2行:
弹出ka tu
错误:
D:\ Lith \ Codeblocks \ uzd \ Skaiciuokle 2.0 \ main.cpp | 88 |错误:没有匹配函数来调用'std :: basic_ifstream :: getline(std :: __ cxx11 :: string&amp;,int)' |
注意: 我发布的代码可能会以某种方式形成或形成错误。我只是开始尝试自己学习c ++。如果您了解我想要做的事情,请随意回答您自己的适合我的情况的书面代码。提前谢谢
答案 0 :(得分:0)
谢谢 Rustyx
解决方案是更改getline。
对于any1感兴趣。这段代码正在运行:
ifstream KC;
KC.open(langPicked.c_str());
KC >> m;
for (int o = 0; o < m; o++) {
getline(KC, sentenses[o]);
}
KC.close();
P.S。 idk如何附上rustx的回答&#34;解决了&#39;细分,所以我发表了自己的评论。遗憾