【发布时间】:2016-03-11 11:22:55
【问题描述】:
这是我在 StackOverflow 上的第一个问题,如果能得到任何帮助,我将不胜感激。
我有一个文件,其中包含一个德语单词及其英语翻译,每行用分号分隔。
看起来像这样:
Hund;dog
Katze;cat
Pferd;horse
Esel;donkey
Fisch;fish
Vogel;bird
我创建了以下结构:
struct Entry
{
string english = "empty";
string german = "empty" ;
};
我要做的是创建一个函数,它将每行的第一个单词复制到字符串german,然后跳过分号并将行中的第二个单词复制到字符串english,这应该逐行写入变量类型Entry的数组中。
这是我创建的函数 - 当然它缺少几行可以进行实际复制的行。 :)
void importFile(string fname, Entry db[])
{
ifstream inFile;
inFile.open(fname);
}
提前致谢。
【问题讨论】:
-
您可以使用
CSV阅读器阅读该文件(搜索此站点以获取示例)。但是对于这样一个简单的格式,您可以将带有getline的每一行读入std::string,搜索分号,然后通过std::string成员函数substr获取子字符串。 -
我认为你应该先在谷歌搜索,因为这个问题已经回答了很多次了。例如这里:stackoverflow.com/questions/7868936/read-file-line-by-line 和这里stackoverflow.com/questions/1120140/… 或带有链接的stackoverflow.com/questions/1474790/… 您可以轻松创建此代码:编辑:nvm。你在另一篇文章中有答案。