Hirdetés
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Korai iOS árulkodik arról, milyen eszközök várhatók az Apple-től a közeljövőben
- Névlegesen nyer üzemidőcsatát a Honor új szériája
- Decembertől kapható itthon a Baseus Inspire szériája
Ú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!
- KINCS! 0 Perces Lenovo Thinkpad T14 G3 Golyóálló Üzleti Laptop 14" -60% Ryzen 5 Pro 6650U 16/1TB FHD
- Gigabyte Gamer config - i5-7400, 12GB DDR4, RTX 2060 120GB SSD
- KINCS! 0 Perces Lenovo Thinkpad T14 G3 Golyóálló Üzleti Laptop 14" -60% Ryzen 5 Pro 6650U 16/512 FHD
- Fejlesztés hiányában megmaradt 8GB SK Hynix 2400MHz DDR4 SO-DIMM
- Eladó D1S LED izzók Canbus 160W 25000LM 6000K 2 db
- 182 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone SE 2020 64GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4001
- Intel Xeon E5-2600v4 processzorok készleten 2680v4,2683v4,2697v4,2697Av4(áfás számla, 2 év garancia)
- HIBÁTLAN iPhone 14 Pro 128GB Gold-1 ÉV GARANCIA - Kártyafüggetlen, MS4096
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


