我设法编写了一些可以从.txt文件中读取的代码,但是我希望我的程序只读取重要的数据。
例如,如果我的文本文件包含以下数据:
Name= Samuel
Favourite colour= Green
Age= 24
Gender= Male
我希望我的程序只是阅读,并忽略“=”
之前的所有内容Samuel
Green
24
Male
我查看了.substr()
方法,但是,您需要知道=
符号的确切位置。
这是我的代码,但不起作用
while ( getline (open_file,line) ){
for (int i=0; i<line.length(); i++){
if (line == "="){
cout << " " + (rest of the line;
}
如果有人可以帮助我,我会非常感激。
答案 0 :(得分:0)
读取数据文件的最有效方法是一次读取一行到字符串变量中。接下来,提取重要部分。
您的数据文件格式如下:
<name> = <value>
我建议您将 name 和 value 都提取为字符串(例如子字符串),然后您可以将原始数据原始数据传递给其他函数。让其他函数担心转换为整数或其他数据类型。
name 字段可以通过搜索'='并记住'='的位置来找到。接下来使用substring方法并从字符串的开头提取到'='之前的位置。
该值是在'='的位置到字符串结尾之后开始的子字符串。
我会让你查看std :: string函数以及如何使用它们。我不想给你代码,因为你不会学到很多东西(例如如何查找函数)。
另见std::getline
。