c++ - 如何使用 C++ 访问文本文件中的特定值

标签 c++ stream console token fstream

我的文本文件有这个结构和这个值

15.32 15.00 14.58 14.36 17.85 01.95 15.36 
14.58 21.63 25.00 47.11 48.95 45.63 12.00
74.58 52.66 45.55 47.65 15.55 00.23 78.69

每一列都是不同类型的数据,第一列是重量,第二列是尺寸等等。 用户请求例如重量,这将是第一列

15.32
14.58
74.58

我需要打印

reg 1 reg 2 reg 3
15.32 14.58 74.58

此外,用户可以请求其他列,我不知道如何完成此操作 我只能打印第一行

15.32 15.00 14.58 14.36 17.85 01.95 15.36 

使用这段代码,但只有当我使用整数文件时,如果它们是双倍的,下面的代码什么都不做

string nextToken;
while (myfile>> nextToken) {
    cout << "Token: " << nextToken << endl;
}

但我不知道如何在列和行之间移动

我正在使用这个结构

struct measures{
    string date;
    double weight;
    double size;
    double fat;
    double imc;
    double chest;
    double waist;
} dataclient;

我读的是这样的值

ofstream file;
file.open (dataclient.id, ios::out | ios::app);
if (file.is_open())
{
    cout<<"   ENTER THE WEIGH"<<endl;
    cin>>dataclient.weigh;
    file<<dataclient.weigh<<" ";

    cout<<"   ENTER THE SIZE"<<endl;
    cin>>dataclient.size;
    file<<dataclient.size<<" ";

    cout<<"  ENTER  % FAT"<<endl;
    cin>>dataclient.fat;
    file<<dataclient.fat<<" ";

这可以为一个用户做几次,然后关闭文件

之后,用户请求任何值

最佳答案

执行此类操作的一种简单方法是创建一个结构或类来封装出现在“记录”中的数据。 (一条记录是一行)将每一行读入该类的一个新实例,然后从您需要的适当成员变量中提取数据。

编辑:另外,我想补充一点,这个答案给了我一些 1337 代表 :)

关于c++ - 如何使用 C++ 访问文本文件中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274367/

相关文章:

c# - 如何在 dotnet 应用程序中创建导航菜单?

C++ std 库并行执行 for_each 比顺序循环慢

c# - 每个 for 中的 Console.Write(i) 或最后的 Console.write(Stringbuilder) 哪个更好

c++ - 将区间[0,1]分成(3j-2)个子区间

scala - Spark 流式打印接收到的流

node.js - 子标准输出设置为 "inherit"和 "onData"监听器

C++运算符>>重载问题: change object only once

java - 将 java 控制台集成到 GUI 中

c++ - boost::spirit::x3 属性兼容性规则,直觉还是代码?

c++ - 解决 "Theater Row"脑筋急转弯的代码