如何从文件中删除输入文本中的字符/整数?

时间:2014-10-22 20:39:35

标签: c++ input file-format istream

我设法编写了一些可以从.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;
    }

如果有人可以帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:0)

读取数据文件的最有效方法是一次读取一行到字符串变量中。接下来,提取重要部分。

您的数据文件格式如下:

<name> = <value>

我建议您将 name value 都提取为字符串(例如子字符串),然后您可以将原始数据原始数据传递给其他函数。让其他函数担心转换为整数或其他数据类型。

name 字段可以通过搜索'='并记住'='的位置来找到。接下来使用substring方法并从字符串的开头提取到'='之前的位置。

该值是在'='的位置到字符串结尾之后开始的子字符串。

我会让你查看std :: string函数以及如何使用它们。我不想给你代码,因为你不会学到很多东西(例如如何查找函数)。

另见std::getline