在地图中插入文件

时间:2014-11-28 16:08:46

标签: c++ file map

我是c ++的新手。 我有两个.txt文件。一个是我想在另一个.txt文件中找到的3个关键词。这是一个很长的文本。我正试图在地图中插入这两个文件,但我不知道如何。

我试过这个 num.insert(pair<string,string>(clef,index)); 但它不起作用。请帮我。

提前感谢:)

@ Ari0nhh这是我的全部代码:

#include <iostream>
#include <fstream> 
#include <string>
#include <map>
#include <iterator>

using namespace std;


ofstream index( "index.txt", ios::out | ios::app);


int main()
{
    map <string, string> num;
    map <string,string> ::iterator it;
    int ctrLigne = 1;
    int ctrPage=1;
    int ctr=1;


    ifstream docum ("docum.txt", ios::in);
    ifstream clef ("clef.txt", ios::in);

    /* what I have tried but did not work
        while (docum >> clef >> index){
            num[clef] = index;
        }



    num.insert(pair<string,string>(clef,index));
    num.insert(clef, index);
    */



    if (docum)
    {
        string ligne;

        while(getline(docum, ligne))
        {
            cout << ligne << " Ligne : " << ctrLigne << " Page : " << ctrPage << endl;

            if(ctr==4)
            {
                ctr=0;
                ctrPage++;
            }

            ctrLigne++;

            ctr++;
    }


    docum.close();
    clef.close();


    system("pause");
    return 0;
    }

1 个答案:

答案 0 :(得分:0)

您可以使用简单的地图执行此操作,并将文件内容存储为长字符串。

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    // your code goes here
    string fileName="myFile.txt";
    string myFilecontent="All The secrets of the world\n Line 1\n Line2";//includes line breaks
    map<string,string> fileMap;
    fileMap[fileName]=myFilecontent;
    cout<<fileMap[fileName];
    return 0;
}

输出继电器:

世界的所有秘密

第1行

2号线

希望有所帮助,