C++数组字符串函数

C++ array string function

本文关键字:函数 字符串 数组 C++      更新时间:2023-10-16

有人可以告诉我如何创建一个从文件 txt 字符串数据类型读取的数组函数吗例如:

在函数内读入以下文件:

学院.txt

状态.txt

将学院/大学添加到字符串向量中。

将状态添加到字符串的并行数组中。

从主函数调用读取函数。

非常感谢:D

尝试以下代码:

#include<iostream>
#include<string>
#include<fstream>
#include<vector>
void func()
{
    std::ifstream fin;
    fin.open("colleges.txt", std::ifstream::in);
    std::vector<std::string> vec;
    std::string line;
    while(getline(fin, line))
    {
        vec.push_back(line);
    }
    fin.close();
    int len = vec.size();
    std::string *arr = new std::string[len];
    int index = 0;
    fin.open("states.txt", std::ifstream::in);
    while(getline(fin, line))
    {
        arr[index++] = line;
    }
    fin.close();
    for(auto e:vec) std::cout<<e<<" ";
    std::cout<<"n";
    for(int i = 0; i < len; ++i)
        std::cout<<arr[i]<<" ";
    std::cout<<"n";
    delete [] arr;
}
int main()
{
    func();
    return 0;
}

使用向量,卡尔!

#include <string>
#include <vector>
#include <fstream>
#include <iostream>
using namespace std;
struct TwoVectors {
    vector<string> first ;
    vector<string> second;
};
TwoVectors getSomeData() {
    TwoVectors ret;
    auto collegesReader = ifstream("colleges.txt");
    auto statesReader = ifstream("states.txt");
    string temp;
    while (getline(collegesReader, temp))
        ret.first.push_back(temp);
    while (getline(statesReader, temp))
        ret.second.push_back(temp);
    collegesReader.close();
    statesReader.close();
    return ret;
}

int main() {
    auto someData = getSomeData();
    for (auto something : someData.first)
        cout << something << endl;
    for (auto something : someData.second)
        cout << something << endl;
    return 0;
}