cpp как да преглеждате текстовия файл
Отговор 1:
Моят код за вашия въпрос:
#include
#include
#include
използване на пространство от имена std;
int main ()
{
ios :: sync_with_stdio (невярно);
unordered_map данни;
ifstream перка;
fin.open ("input.txt", ios :: in);
дълга стойност1, стойност2;
fin >> value1;
докато (перка)
{
fin >> стойност2;
данни [стойност1] = стойност2;
fin >> value1;
}
cout <
връщане 0;
}
Това, което направих? Създайте unordered_map. Прочетете всички стойности от файла и ги съхранявайте в unordered_map. Изведете стойността на позиция 8.
Метод 2: Ако не искате да използвате unordered_map и не искате да съхранявате данните никъде, проверете този код:
#include
#include
използване на пространство от имена std;
int main ()
{
ios :: sync_with_stdio (невярно);
ifstream перка;
fin.open ("input.txt", ios :: in);
дълга стойност1;
fin >> value1;
докато (перка)
{
ако (стойност1 == 8)
{
fin >> value1;
cout <
почивка;
}
fin >> value1 >> value1;
}
връщане 0;
}
Отговор 2:
Нуждаете се от масив от двойка обекти ключ-стойност, като карта. Намерете метод за четене, за да прочетете всички редове и да ги съхраните в картата, като разделите низа с помощта на разделители за интервал, за да получите ключ и стойност и двете.
Другият начин би бил да прочетете файла, когато е необходимо, особено за много голям файл. Започнете да четете отгоре и на всеки ред, проверете първия знак, ако това е желаният ключ, след което вземете останалата част от реда след интервал.
Извинете, няма кодов фрагмент, това е вашата домашна работа.
Отговор 3:
Отваряне на файл ... txt
fstream f;
char a [100], c;
cin >> c; // За напр. 8 първият знак от реда
f.open (….);
f.getline (a, 100);
ако (a [0] == c)
{
за (i = 0; i <100; i ++)
cout <
}
f.close ();
Надявам се да работи, не съм го изпробвал. Но синтаксисът му е правилен.
Отговор 4:
Хей приятелю, публикуваш тази заявка на грешното място. Неговата
Преливане на стекаче имате нужда.
Също така можете да опитате
Google.
http://bit.ly/1zHqBQGДръжте и двата гореспоменати сайта под ръка при вас. Ще можете да решавате много повече задачи като тази.
Отговор 5:
Аз съм на мобилно устройство, така че не знам как да форматирам кода тук, но все пак ще ви дам подсказка.
while (fscanf (input, "% d% l% l \ n", & value1, & value2, & value3)! = EOF) {
// сами измислете останалото
}
Редактиране: Току-що осъзнах, че втората стойност е дълъг int.
Редактиране 2: Току-що осъзнах, че има общо три стойности.
Отговор 6:
Това задание за колаж ли е?
Както и да е, няма да дам действителен код. ако файлът е достатъчно малък (както е даден в примера, <100 записи, всички int -> int maping), заредете го в карта (използвайте ifstream). По-късно, когато е необходимо, вземете стойността от картата