Dobrý den, hledal jsem to různě na internetu, ale nikde jsem to nenašel. Je možné použít ve funkci dvakrát getchar? Potřeboval bych totiž spočítat řádky a potom znovu znaky načítat. Děkuji.
Fórum › C / C++
Dvakrát getchar()
![](img/forum_vlakno_help_vyreseno.png)
Pole som už veľmi dávno nepoužíval, používam STL vector ako náhradu poľa, ale raz som počul, že nie je dobrý nápad dávať veľkosť poľa nekonštantnú (teda int arr[nejaka_premenna];). Mohli by ste mi to vy lepší potvrdiť alebo vyvrátiť a vysvetliť prečo ?
#5 lukas.balaz
Problem je ze take pole sa vytvara na stacku a stack je relativne maly (vecsinou radovo v jednotkach MB), ak bude pole dost velke tak nastane stackoverflow...
nebylo by jednodussi zjistit rovnou velikost souboru, pak to nacist do jednoho pole naraz a pak si pocitat radky, pak ukazatele na jejich zacatky a misto \r ci \n (podle toho co je driv) hodit proste \0?
mistr rejpal "predcasna optimalizace" nabidne volani subshelu a pocitani radku pres wc ... vzdyt si to vlastne muze nechat naprogramovat nekym jinym ne? hodne se tim toho nauci a tak... nebo v necem jinem.. to se asi zase nauci pracovat s pameti...
Tak pokud to čte přes getchar(), tak to čte z stdinu, takže bude trochu problém zjistit velikost vstupu. Nicméně bude opravdu potřeba to nejprve načíst do nějakého bufferu, v C++ to může být vector nebo string, v čistém C bych použil realloc s nějakým exponenciálním zvětšováním.
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Getchar a while — založil Thom
Getchar vs Gets — založil Slimer
C getchar EOF — založil Poki
Getchar() a EOF — založil dreamer
Moderátoři diskuze