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). Пазней, калі трэба, атрымайце значэнне з карты