Kezdőoldal » Számítástechnika » Programozás » C -ben, hogyan kell parametern...

C -ben, hogyan kell parameternek megadni tobb FILE -t egy fuggvenyhez?

Figyelt kérdés

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


2016. dec. 30. 20:19
 1/6 A kérdező kommentje:
mar megtalaltam a hibat (typo)
2016. dec. 30. 20:33
 2/6 anonim ***** válasza:

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.

2016. dec. 30. 20:53
Hasznos számodra ez a válasz?
 3/6 Almafazek válasza:

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. :)

2016. dec. 30. 21:01
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Ó a fenébe, ne haragudj, a NULL-t C-ben csupa nagybetűvel kell írni.
2016. dec. 30. 21:48
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

"Seggmentation Fault"


xD

2016. dec. 30. 22:12
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Változó hosszúságú argumentum lista használatával esetleg:


[link]

[link]

2016. dec. 30. 23:31
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!