Ahoj, potřeboval bych poradit s funkcí sscanf.
Mám řetězec typu char a v něm mám uložený čísla - např.: 123 56 8 12
...a potřebuju to (zřejmě pomocí sscanf) dostat do matice - stačí do nějáký proměnný, z tý už to cyklem dostanu do matice - ale netušim jak...pročítal jsem manuály k tomuhle příkazy, díval se na příklady ale nenašel jsem nic co by mi nějak pomohlo...podle nápovědy bych k tomu měl použít konverzi lf nebo n...
Díky za jakoukoliv radu,
M
Fórum › C / C++
Funkce sscanf
Jestli se ten dotaz týká čtvrté bonusové úlohy na progtestu, tak doporučují použít klasicky scanf v cyklu + pomocí návratové hodnoty funkce getc(stdin) kontrolovat jestli uživatel stiskl enter...
Co se týče sscanf, tak bohužel nejsem schopen pomoci...
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Obdelníky ne...je to ten řešič soustavy lineárních rovnic.
Už to mám skoro hotový, jen nevim proč mi nechce scanf nikdy přečíst první znak...když zadám "1 2 3" tak do matice uloží jen 2 a 3 kdežto když zadám " 1 2 3" tak to uloží i s jedničkou.
Bezva - už to i funguje...ale když to dám do dalšího cyklu (protože pole je dvojrozměrný), tak to správně funguje jen pro první řádek...na každym dalším to zas vynechá první znak. Je to problém toho getc? Kdybych věděl proč to vynechává, možná bych to zvládl nějak spravit.
M
for(j=0;j<22;j++){
for(i=0;i<22;i++){
scanf("%f",&m[j][i]);
if(getc(stdin)=='\n') break;
}
if (getc(stdin)==EOF) break;
}
Uložit si předchozí přečtenej znak? Já přece potřebuju dát konec, když poslední přečtenej znak bude EOF, ne? nebo spíš...předchozí znak nikdy nebude EOF, ne? protože když dám EOF tak je prostě konec čtení, ne?
jenze ty takhle nactes \n a po preruseni vnoreneho cyklu pak delas jeste nacteni dalsiho znaku ktery se musi rovnat EOF...
takhle se zbavis jednoho znaku na konci tj \n a pak se jeste zbavis dalsiho znaku na zacatku radku nasledujiciho...
To Memphis22 : getc nacte a otestuje znak. Pri dalsim cteni ze stdin (priklad pomoci scanf) se uz cte dalsi znak, nikoli ten co byl testovan pomoci getc.
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
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Sscanf - cteni dvou uint cisel — založil Earl Cash
Sscanf - uložení do int hodnoty do unsigned char — založil hlucheucho
čtení dat z txt souboru rada sscanf — založil lorDoom
Změna hodnoty čísla při použití fce sscanf() — založil HonzaHonza
Volání funkce z jiné třídy ukazatelem typu obecné funkce — založil pretis
Moderátoři diskuze