Как записать в один файл cpp через другой файл cpp.? - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь реализовать LZW-Coding, и теперь я хочу сохранить тип данных словаря в другом файле cpp и записать в него изменения в словарь через этот файл. Как мне это реализовать?

РЕДАКТИРОВАТЬ: - Я знаю Обработка файлов, но здесь я хочу записать изменения в тип данных карты, поддерживаемый в каком-то другом файле. Я хочу объявить словарь (Карта) LZW. Схема - это некоторый файл cpp. Кроме того, я хочу обновить содержимое словаря через другой файл CPP Sender.cpp.

В код ниже,я сохранил словарь в одном файле и внес в него изменения, так как отправитель передавал сообщения, но теперь я хочу инициализировать этот словарь в каком-то другом файле cpp и сохранить изменения в своем словаре через прикрепленный файл.

#include <bits/stdc++.h>
using namespace std;
map<string, int> dictionary;
vector<int> LZW_coding(string text)
{
     vector<int> coded;
     string curr;
     curr.push_back(text[0]);
     string prev;
     prev.push_back(text[0]);
     int index = 5;
     int i = 1;
     while (i < text.length())
     {
        curr.push_back(text[i]);
        if (dictionary[curr] == 0){
          dictionary[curr] = index;
          coded.push_back(dictionary[prev]);
          curr = "", prev = "";
          curr.push_back(text[i]);
          prev.push_back(text[i]);
          i++;
          index++;
         }
         else{
           prev.push_back(text[i]);
           i++;
         }
     }
     coded.push_back(dictionary[prev]);
     return coded;
 } 
int main()
{
cout << "Enter text to be encoded" << endl;
string text;
cin >> text;

dictionary["a"] = 1;
dictionary["b"] = 2;
dictionary["c"] = 3;
dictionary[" "] = 4;
map<string, int>::iterator itr;
vector<int> code = LZW_coding(text);
cout << "Encoded Output is" << endl;
for (int i = 0; i < code.size(); i++)
{
    cout << code[i] << " ";
}
cout << endl;
return 0;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...