C -ben, hogyan kell parameternek megadni tobb FILE -t egy fuggvenyhez?
Van egy fuggvenyem ami mukodik,de kiszeretnem boviteni,hogy tobb FILE - t tudjon fogadni parameterkent,amivel aztan txt be tudok menteni.
igy nez ki a fuggveny:
void printToFile(FILE* file){
fprintf(file, " mentes");
}
probaltam boviteni valahogy de nem sikerult. Nem feledkezdtem meg arrol sem amikor meghivom,hogy bovitsem a paramtereket
Pro tip:
Ha pointert kérsz be paraméterként, MINDIG vizsgáld, hogy az nem null értékű-e:
void printToFile(FILE* file) {
.. if (file == null)
.. .. return;
.. fprintf(...);
}
Ezzel elkerülhetsz olyan kínos hibákat, hogy lehal a programod egy szép Seggmentation Fault-tal.
Egy-két példát azért írok:
// parameterben vár egy file tömböt, utolsó eleme pedig legyen NULL
// előnyei, ha csak kiakarsz írni sok helyre valamit és csak erre használod, nem kell felesleges változókkal foglalkoznod
// hátránya, ha ezek utan még szeretnél valamit a FILE változokkal csinálni a függvényen belül akkor arra ez nem jó.
void printToFile( FILE** file ) {
while( *file ) {
fprintf( *file, "mentes" );
file++;
}
return;
}
// Át adsz egy darab számot és egy tömböt.
// elönye, hogy könnyebben érthető a nem C guruk számára is
// hátrány, hogy adminisztrálnunk kell a darab számot.
void printToFile( int n, FILE* file[] ) {
int i;
for( i = 0; i < n; i++ ) {
fprintf( file[i], "mentes" );
}
return;
}
Több forráskód segíteni tud a fejlődésben. :)
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!