C++ 文件讀取行/單詞


這里使用fstream來讀取文件,並按照每行一個string方式寫入vector

void read(ifstream &ifs, vector<string> &vec)
{
    ifs.open("C:\\Users\\****\\Desktop\\1.txt");//文件地址,注意轉義符
    string str;
    while(getline(ifs, str))//按行讀取
    {
        vec.push_back(str);
    }
    if(ifs.is_open())
        ifs.close();//關閉流
}

int main()
{
    ifstream ifs;
    vector<string> vec;
    read(ifs, vec); 
    for(auto str : vec)
        cout << str.c_str() << endl;

    return 0;
}

按照每個單詞分割寫入vector

//read the file and write it by word into vector
void read(ifstream &ifs, vector<string> &vec)
{
    ifs.open("C:\\Users\\****\\Desktop\\1.txt");
    string str;
    char c;
    while(ifs.get(c))
    {
        if(c != ' ' && c != ',' && c != '.')
            str += c;
        else
        {
            if(str != "")
                vec.push_back(str);
            str = "";
        }   
    }
    if(ifs.is_open())
        ifs.close();
}

中文亂碼處理

多半是文件編碼格式不對,改為UTF-8(編輯器都可以改格式的),如果是*.txt的話直接另存為->編碼->UTF-8,即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM