You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++ 不使用数组从文件中分别读取各城市名称及对应数值的方法

实现逻辑

你给出的txt文件是固定格式:单行长名称的城市独占一行,下一行紧跟4个浮点数值,利用C++标准输入输出流>>运算符默认跳过所有空白字符(空格、换行、制表符都属于空白字符)的特性,不需要特意拆分读取行,也不需要用到数组,直接按顺序读取城市名和4个独立的浮点变量即可。

完整可运行代码
#include <iostream>
#include <fstream>
#include <string>

int main() {
    // 此处替换为你的txt文件实际存储路径
    std::ifstream infile("city_data.txt");
    if (!infile.is_open()) {
        std::cerr << "文件打开失败,请检查路径是否正确" << std::endl;
        return 1;
    }

    std::string city;
    double v1, v2, v3, v4;
    // 循环读取每组数据,读到文件尾或格式错误时自动终止
    while (infile >> city >> v1 >> v2 >> v3 >> v4) {
        // 此处可替换为你自己的业务处理逻辑,以下为打印示例
        std::cout << "城市名称:" << city << std::endl;
        std::cout << "对应数值:" << v1 << "、" << v2 << "、" << v3 << "、" << v4 << std::endl;
    }

    infile.close();
    return 0;
}
说明
  • 该方案完全不使用数组,4个数值用独立的double变量存储即可,满足你的要求。
  • 不需要手动处理换行符,>>运算符会自动跳过城市名和数值之间的换行,也会跳过数值之间的空格,适配你给出的文件结构。
  • 如果后续每个城市对应的数值个数有变动,调整声明的变量数量和读取逻辑即可。

内容的提问来源于stack exchange,提问作者Ron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:15:04