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). По-късно, когато е необходимо, вземете стойността от картата