Hirdetés
- bambano: Bambanő háza tája
- Candy: AOOSTAR WTR PRO – NAS, alkoss, gyarapíts
- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- sziku69: Fűzzük össze a szavakat :)
- dobragab: PH! userscript-gyűjtemény
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Cifu: Űrhajózás 2025 - Összefoglaló írás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
it_service
#3281
üzenetére
Félreérted a C string kezelését. Stringeket akarsz beolvasni, nem?
C-ben a stringek karakter tömbbökként vannak reprezentálva. Minden string végén kell lennie egy lezáró 0 -nak a tömbben. Ez nem a tömb végét, hanem a string végét jelzi, ergó a tömbben bárhol, lehet. A stringnek bele kell férnie a lezáró nullával együtt a tömbbe, különben gáz lesz (ergó a tömb mérete > string hossza - 1).
Tehát, amikor Te beolvastad a tömbbe a stringet, akkor nem az n-dik string sort írtad bele, és tároltad az összeset, hanem csak mindig felülírtad az előzőt, mivel egy karaktertömb egy stringet tárol (persze még ez se ment, mivel rossz volt a szintaktika).
Átírtam, így mindig beolvassa a stringet, és ha a 100-at olvasta be, akkor kiírja.
Ha stringek tömbjét akarsz, akkor karakterek mátrixában kell tárolnod őket.
A számlálóra pedig 100-at kell vizsgálnod, nem 99-et, mivel a vizsgálat előtt növeled meg azt, nem utána, és 0-ról indul.
system hívásokat meg ne használj ilyenre. Ha meg akarod akadályozni az ablak bezáródásást, hívj egy getchar() -t a return előtt. Return pedig mindig kell a main fv.-ben ... (meg persze minden nem void fv.-ben)
#include <stdio.h>
int main()
{
FILE* file = fopen("beolvas.txt", "r");
char str[200];
int szamlalo = 0;
while(fscanf(file, "%s", str) != EOF)
{
szamlalo++;
if(szamlalo == 100)
printf("%s", str);
}
fclose(file);
getchar();
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- Xiaomi 17 Ultra - jó az optikája
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Fűnyíró topik
- Crimson Desert
- Tőzsde és gazdaság
- Pécs és környéke adok-veszek-beszélgetek
- Vegyes fogadtatás, erős rajt: 2 millió példánynál a Crimson Desert
- Kínai és egyéb olcsó órák topikja
- Hivatalos a OnePlus 13 startdátuma
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte H610M i5 13600KF 16GB DDR4 500GB SSD RTX 3060Ti 8GB RAMPAGE Shiva CM 700W
- AKCIÓ! VALVE INDEX virtuális valóság szemüveg garanciával hibátlan működéssel
- Eladó Samsung Galaxy A54 8/256GB / 12 hónap jótállás
- LG 32UN880K - 32" IPS ERGO / 4K UHD / 60Hz 5ms / DisplayHDR 400 / USB Type-C / AMD FreeSync
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
