Поиск слова из файла и подстановка в другой файл
0
У меня есть два таких текстовых файла:
11.txt:
1 5.66
2 4.95
3 2.55
4 0.99
5 2.87
NB.txt:
1 2 3 4 5
4 5 3 2 1
3 4 5 1 2
Я написал приведенный ниже код для штрафа, например, "1" из файла 1, и поиска его в файле 2, затем замените "1" на "5.66". и повторите его для других чисел, то есть 2,3,4,5. но я не знаю, почему это не работает. кроме того, он не читает первую строку 11.txt-да.
#include <iostream> #include <fstream> #include <string> using namespace std; int main () { string line; double AtomId, Atom_radius,search ; ifstream AtomId_file ("11.txt"); string namefile; if (AtomId_file.is_open()){ for (int linenox = 0; getline (AtomId_file,line) && linenox < 6; linenox++){ if (linenox == 0) AtomId_file>>AtomId>>Atom_radius; } cout<<"AtomId: "<<AtomId<<" Atom_radius: "<<Atom_radius<<endl; cout<<namefile<<"\n"; } ifstream NB("NB.txt"); size_t pos; if (NB.is_open()) { search = AtomId; getline(NB,line); pos=line.find(search); if(pos!=string::npos) { search = Atom_radius; cout <<"Found!"; } } ofstream myfile; myfile.open ("12.txt"); myfile << search << "\n"; }
Что я уже пробовал:
выход в 12.txt есть:
2
вместо :
5.66 4.95 2.55 0.99 2.87
0.99 2.87 2.55 4.95 5.66
2.55 0.99 2.87 5.66 4.95
0x01AA
Я бы посоветовал вам сделать это наоборот.
Читать пункт за пунктом из "NB.txt-и поискать соответствующий ключ в ... 11.txt".
Наконец запишите результат в третий файл например "Res.txt".