2016-03-05 86 views
-4

可有人请告诉我如何创建从文件TXT字符串数据类型 读取例如数组功能:在内部功能的以下文件C++数组字符串函数

阅读:

学院。 TXT

states.txt

的学院/大学添加到字符串矢量。

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

从您的主要功能调用读取功能。

非常感谢你:d

+2

你问别人做你的功课。有很多关于从文件读取的主题[例如这一个](http://stackoverflow.com/questions/7868936/read-file-line-by-line) – ppsz

回答

-1

试试下面的代码:

#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; 
} 
-1

使用载体,卡尔!

#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; 
}