Sziasztok Az a problémám, hogy egy statisztika programot szeretnék írni, amihez a következő kellene. itt következő apró kódrészletben a printf függvénben egy változó szerepljen a string hossz kiiratásának megváltoztatásakor
while (!feof(nevek))
{
fgets(nev,255,nevek);
c=strlen(nev)-1;
printf ("%.(ide kellene a "c"valtozo)s",nev);
}
Ugyanis amiből szedi az adatokat egy olyan lista ami enterekkel tagolt névsor, de a statisztikát teljesen elrontja mert az entert is viaszi magával. Így az emberek adatit törve írja ki. Van arra megodás hogy a zárójel helyére egy változót tegyek mert akkor le tudnám vágni az entereket és nem törne sort.
- 1098 megtekintés
Hozzászólások
Szerintem joval egyszerubb lenne kiszedned a vegerol az entert...
Konkretabban:
fgets(nev, 255, nevek);
if(nev[strlen(nev)-1] == '\n') nev[strlen(nev)-1] = '\0';
printf("%s", nev);
- A hozzászóláshoz be kell jelentkezni
Ha
[code]
[/code] közé teszed a kódot, akkor olvashatóbb.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
bocs, javitottam..
- A hozzászóláshoz be kell jelentkezni
Télleg erre nem is gondoltam köszi :D Mentségemre legyen szólva hogy kezdő volnék :D
- A hozzászóláshoz be kell jelentkezni
Ez így rossz, crash lehet belőle!
inkább így:
while( fgets(nev, 255, nevek) )
{
size_t len = strlen(nev);
if( len>0 && nev[len-1]=='\n')
nev[--len] = '\0';
printf("%s", nev);
}
- A hozzászóláshoz be kell jelentkezni
Aha nekem is gyanús volt hogy így tulajdonképpen 2 vége lesza filenek.
- A hozzászóláshoz be kell jelentkezni
Ja értem nem a dupla vég mert a \0-nal vége és kész. Hanem akkor van baj ha len 0 akkor az -1 et ad, így elrontja. igaz, de nincs üres sor a file-ben. De nem árt félni hátha rossz a file.
- A hozzászóláshoz be kell jelentkezni
Zavaros a dolog, kérlek hogy fogalmazd meg más módon.
- A hozzászóláshoz be kell jelentkezni