cpp, як праглядаць тэкставы файл


адказ 1:

Мой код для вашага пытання:

# уключыць # уключыць # уключыць выкарыстанне прасторы імёнаў std;int main (){ ios :: sync_with_stdio (ілжыва);неўпарадкаваная_карта дадзеныя; плаўнік ifstream; fin.open ("input.txt", ios :: in); доўгае значэнне1, значэнне2; fin >> value1; пакуль (плаўнік) { fin >> value2; дадзеныя [значэнне1] = значэнне2; fin >> value1; } cout < вярнуць 0;}

Што я зрабіў? Стварыце неўпарадкаваную_карту. Прачытайце ўсе значэнні з файла і захавайце іх у unordered_map. Вывядзіце значэнне ў пазіцыі 8.

Спосаб 2: Калі вы не хочаце выкарыстоўваць unordered_map і не хочаце захоўваць дадзеныя ў любым месцы, аформіце гэты код:

# уключыць # уключыць выкарыстанне прасторы імёнаў 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 mapping), загрузіце яго на карту (выкарыстоўвайце ifstream). Пазней, калі трэба, атрымайце значэнне з карты