首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C++中解析具有不同字段数的行

在C++中解析具有不同字段数的行,可以使用以下方法:

  1. 使用std::getlinestd::istringstream
代码语言:cpp
复制
#include<iostream>
#include <sstream>
#include<vector>
#include<string>

int main() {
    std::string line;
    std::getline(std::cin, line);
    std::istringstream iss(line);
    std::vector<std::string> fields;
    std::string field;

    while (std::getline(iss, field, ' ')) {
        fields.push_back(field);
    }

    for (const auto& f : fields) {
        std::cout << f << std::endl;
    }

    return 0;
}
  1. 使用std::regex
代码语言:cpp
复制
#include<iostream>
#include<regex>
#include<vector>
#include<string>

int main() {
    std::string line;
    std::getline(std::cin, line);
    std::regex re("\\s+");
    std::sregex_token_iterator it{line.begin(), line.end(), re, -1};
    std::vector<std::string> fields{it, {}};

    for (const auto& f : fields) {
        std::cout << f << std::endl;
    }

    return 0;
}

这两种方法都可以解析具有不同字段数的行。第一种方法使用std::getlinestd::istringstream,将输入的行按照空格分隔为字段,并将其存储在std::vector<std::string>中。第二种方法使用std::regex,将输入的行按照空格分隔为字段,并将其存储在std::vector<std::string>中。

在实际应用中,可以根据需要选择适合的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券