如何在 c++ 中从文本文件中读取值

How do you read values from a text file in c++?

本文关键字:文件 读取 文本 c++      更新时间:2023-10-16

基本上,我必须从读取的文本文件中获取 2 个值(学生分数和总分(

    97 127

并打印出学生百分比。

这是我的代码

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <cmath>
    using namespace std;
    int main()
    {
      int student_score;
      int total_points;
      int final_score;
      ifstream inFile;
      inFile.open("myData.txt");
      inFile >> student_score >> total_points;
      final_score = (student_score / total_points) * 100;
      cout << final_score;
      inFile.close();
      return 0;
    }

我的问题是,当我运行程序时,值显示为

    3608900 

当我只要求打印出student_score值时,它会打印出完全不同的数字。

你的错误
int total_points;

您只需将int/int除法,实际上您尝试这样做:97 / 127因此输出0 .

这里:

你应该写什么

  int student_score  = 0;
  float total_points = 0.0;
  int final_score    = 0;
  std::ifstream inFile;
  inFile.open("myData.txt");
  if( inFile ){
    inFile >> student_score >> total_points;
  } else {
      std::cout << "your-error-code";
  }
  final_score = (student_score / total_points) * 100;
  std::cout << final_score;
  inFile.close();
  return 0;   

输出

76


注意

始终将变量初始化为正确的相关类型