у меня есть файл, предположим file.txt
в нем текст
Hello world Hello world Hello world Hello world Hello world Hello world
и есть код, который принимает данные и кодирует символы в трехзначные номера.
сейчас я кодирую их из переменной string txt
потому что у меня нету реализации переноса данных с файла в цикл.
string txt = "Hello world";
пока не понял как это работает
int code[] = { 0, ...., 151, 113, .... };
for (auto a : txt) {
auto i = coder.at(string(1, a));
cout << i << " result " << endl;
}
Мне надо что бы данные шли из файла, так же мне интересно будет ли работать если файл будет очень большой, например 1 гигобайт данных в тексте.
возможно стоит как то по другому кодировать данные. Сейчас я точно не уверен, правильно ли я делаю, или нет.
Ну, через map
- издевательство из серии "зачем просто, если можно сложно". Проще массив перекодировки, где символы - их стандартные ASCII-коды - служат индексами, а ваши числа - значениями - типа
int code[] = { 0, ...., 151, 113, .... };
где 151 находится в элементе номер 100 (=d
), 113 - в элементе номер 101 (=e
) и так далее.
Далее - все, просто читайте файл (или строку) по символу, но вместо символа c
выводите число code[c]
.
Идея понятна?
P.S. Правда, не понимаю, что вы хотите получить... простенькое шифрование?
P.P.S. С чтением из файла
ifstream in("file.txt",ios::binary);
for(char c; in.get(c); cout << code[c]);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите как скомпилировать файлИспользую g++ пытаюсь скомпилить
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском