c++ 如何用 ifstream 读取txt文件的全部内容,并存入变量中

比如txt内容为:
伦敦奥运会游泳比赛,女子200米蝶泳决赛,中国选手焦刘洋以2分04秒06打破奥运纪录获得冠军。西班牙选手加西亚2分05秒25获得亚军,日本选手星奈津美2分05秒48排在第三。卫冕冠军刘子歌,只以2分07秒77列在第八。
如何将其全部读出并保存在一个变量中呢

//vs2008实测通过

#include <fstream>

#include <stdio.h>

using namespace std;

void main()

{

ifstream infile;

infile.open("test.txt",ios::in);

char str[1000];

while(!infile.eof())

{

infile>>str;

}

printf("%s\n", str);//已保存在变量str中

infile.close();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-07

需要用到fstream头文件

用ifstream进行读取

存到变量里面是需要看需要读取的变量的格式的

例如读取到结构体中就是将变量依次读取存入结构体的每个变量里面

strcut stockType
{
    string personAddress;
    string personCity;
    string personState;
    int personZIP;
};

void addressType :: getData()
{
    ifstream infile;
    
    int index;
    
    string inputFile;
    
    stockType addressTypeList[NO_OF_PERSON];
    
    cout<<"Enter the file path: ";
    cin>>inputFile;    //输入txt文件路径
    cout<<endl;
    
    infile(inputFile.c_str());    //infile按照指定路径读取txt文件

    for(index = 0; index < NO_OF_PERSON; index++)//读取txt文件至struct
    {
        infile>>addressTypeList[index].personAddress;
        infile>>addressTypeList[index].personCity;
        infile>>addressTypeList[index].personState;
        infile>>addressTypeList[index].personZIP;
    }
}

第2个回答  2012-08-02
string fileInput (ifstream &infile)
{
char str[FILE_LENGTH];
int i = 0;
while (!infile.eof ())
{
str[i++] = infile.get ();
};
str[i] = '\0';// end of str signal for c style string
return str;
}
相似回答