- Milyen házat vegyek?
- OLED TV topic
- Fejhallgató erősítő és DAC topik
- Milyen videókártyát?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen belső merevlemezt vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Haladó fotósok digitális fényképei
- AMD vs. INTEL vs. NVIDIA
Új hozzászólás Aktív témák
-
válasz
Briganti #571 üzenetére
Hali!
Az fscanf() arra is jó, ha változó darabszámú érték van soronként....
csak azért írtam a korábbi módszert, mert az egyik lehetőséget feltételeztem, azaz fix számú érték szerepel soronként. itt egy példa ami demonstrálja a másik lehetőséget.
(nem a legszebb, de a legáttekinthetőbb)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * FH;
int szamok[9];
if (!(FH=fopen("adat.txt","rt"))) {
printf("Nem lehet megnyitni a fajlt...\nkilepes");
exit(-1);
}
printf("%d",fscanf(FH,"%d;%d;%d;%d;%d;%d;%d;%d;%d;%d",
&szamok[0], &szamok[1], &szamok[2], &szamok[3], &szamok[4], &szamok[5], &szamok[6], &szamok[7], &szamok[8], &szamok[9]));
fclose(FH);
return 0;
}1. megnyitjuk a fájlt, ha nem lehet akkor hibával kilépünk
2. beolvassuk az első sorát a SZAMOK tömb-be illetve kiíratom hogy hány adatot sikerült beolvasni
3. lezárom a fájlt, kilépésez utóbbi lehetőség nagyon fontos. Az fscanf visszad egy egész értéket, ami azt tartalmazza hogy hány darab adatot tudott beolvasni
Ha az első sorban csak 1 adat volt, akkor 1-et ír ki, ha az első sorban 6 adat volt, akkor meg 6-ot ír ki a progi, stb, azaz tudod, hogy az adott sorban, hány adatod volt. Ezek bekerülnek a tömb-be, egy ciklussal végigjárva(aminek a ciklusszámlálója annyi, mint amennyit az fscanf() visszaadott) könnyen kikeresheted a legkisebbet.Ahhoz hogy ez menjen, persze kell tudnod, a szöveges fájlod egy sorában mennyi szám szerepelhet MAXIMÁLISAN. Ennyi elemszámú tömböt állíts elő és kész.
Fire
UI: bocs, hogy én is ide pakoltam a C-topic helyett...
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- RÉSZLETRE .OPCIONÁLIS. Acer Nitro V ANV15-51-554Z SZÁMLA , GARANCIA
- RÉSZLETRE . OPCIONÁLIS. HP EliteBook 840 G11 üzleti prémium laptop számlával és garanciával
- RÉSZLETRE . OPCIONÁLIS. ThinkPad L16 Gen 1 16" WUXGA, Ultra 5, 16GB RAM, 512GB SSD SZÁMLA GARANCIA
- RÉSZLETRE .OPCIONÁLIS. Lenovo ThinkPad X13 Gen 5 Ultra 5 135U , 16GB , 512GB , Win11 SZÁMLA GARANCIA
- Anker 737 powerbank - PowerCore 24K - 24000 mAh 140W
- Eladó MacBook Pro 14" M3 Pro 11C 14C 16GB 512GB
- Bontott, vadiúj, SKY BLUE MacBook Air 13.6" M4 10C/8G 16GB 256GB 13 Gar.: 1 év APPLE világgarancia
- AKCIÓSAK - 20.000 HUF/SZETT - DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
- HIBÁTLAN iPhone 13 Pro 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3385, 94% Akkumulátor
- LG UltraFine 4K és Smart Monitorok -30%
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest