- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- gban: Ingyen kellene, de tegnapra
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- stefi68: AnySoft Keyboard (magyarul)
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Újszerű Gamer Asztali PC Számítógép 2026-ig Garis ASUS H510M-K R2.0 i5 11400F RTX 4060 8GB Dobozába
- több db DDR4 laptop ramok 2x8Gb (7e) 2x16Gb (18e) és 2x32GB (35e) párban garanciával!
- Samsung 860 Evo/ 850 Pro 1TB SSD-k állapottól függően 18-28k között
- Lenovo M900 Mini PC - Core i5 6500T - 8Gb ram - 256GB SSD -több db - ÁFA-s számla is
- vadi új DELL 5090 Micro - Mini PC - Core i5 10500T- 16GB 256GB NVMe SSD -gyári WIFI - több db
- 130+131+132+133 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Nintendo Switch bazár (Okosított Nintendo Switch konzolok, játékok, tartozékok)
- Microsoft Surface Laptop 3 - 15 col - Fekete
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged