Ukázka správného načítání ze vstupu v jazyce C++
1. příklad - načtení zadaného počtu řádek ze vstupu
#include <iostream>
#include <limits>
int main() {
std::cout << "Zadej pocet radek k echu:" << std::endl;
//preceteme pocet radek jako cele nezaporne cislo velikosti strojoveho slova
size_t lines;
std::cin >> lines;
//std::cin zanechalo konec radky v bufferu, takze ten ted musime preskocit
//Jednodusse lze udelat i tohle: std::cin.ignore(INT_MAX, '\n'); bez limits.h
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), std::cin.widen('\n'));
while (lines--) {
//preceteme radku o max. delce 128 znaku
char buf[128];
//std::cin.getline(buf, std::extent<decltype(buf)>::value);
std::cin.getline(buf, 128);
//druhy parameter je pocet elementu pole podle C++11
//a posleme ji na vystup a pripojime konec radky
std::cout << buf << std::endl;
}
return 0;
}
Zpět na Základní informace
Zpět na Problémy a řešení
Zpět na Doporučení k soutěži


