我已经设法编写了一些可以从.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;
}
如果有人能帮我,我将不胜感激。
读入数据文件最有效的方法是一次读入一行字符串变量。接下来,提取重要部分。
您的数据文件的格式如下:
<name> = <value>
我建议您将名称和值提取为字符串(例如子字符串),然后可以将原始形式的原始数据传递给其他函数。让其他函数担心转换为整数或其他数据类型。
名称字段可以通过搜索"="并记住"="的位置来找到。接下来使用子字符串方法,从字符串的开头提取到"="之前的位置。
该值是从"="的位置开始到字符串末尾的子字符串。
我将让您查找std::string函数以及如何使用它们。我不想给你代码,因为你不会学到那么多(比如如何查找函数)。
另请参见std::getline
。