[ xeron @ 18.03.2006. 17:25 ] @
Code:
#include <stdio.h>
#include <windows.h>
int main()
{
     char ifilename[] = "c:/lesson13_in.txt";
     char ofilename[] = "c:/lesson13_out.txt";
    char name[30];
    int idNum;
    FILE *ofp, *ifp;

    /* Open file for input */
    ifp = fopen(ifilename,"r");

    /* Read data */
    fscanf(ifp,"%s %d",&name,&idNum);

    /* Open file for output */
    ofp = fopen(ofilename,"w");

    /* Write out data */
    fprintf(ofp,"%d %s\n",idNum, name);

    /* Close Files */
    fclose(ifp);
    fclose(ofp);
    system("pause");
    return 0;



Imam par pitanja u vezi ovog zadatka ?

1.
Kako izgleda opći oblik za funkcije fopen, fclose, fprintf, fscanf.

2.
Code:
char ifilename[] = "c:/lesson13_in.txt";


zasto char[] (zasto zagrade ?).

Da li je ovo moglo biti napisano u samoj fopen funkciji i kako ?

3.
Code:
 FILE *ofp, *ifp;


sta radi ova linija ?
[ NrmMyth @ 18.03.2006. 18:37 ] @
Citat:
Kako izgleda opći oblik za funkcije fopen, fclose, fprintf, fscanf.

Sta??
Citat:
zasto char[] (zasto zagrade ?)

zato jer string "papandokula" predstavljan kao niz znakova char[]
Citat:
Da li je ovo moglo biti napisano u samoj fopen funkciji i kako ?

Je.
Code:
fopen( "papandokula", "r" );

Citat:
sta radi ova linija ?

deklarika dva pointera ne strukturu FILE - tip koji koristis za rad sa fajlovima
[ peka @ 18.03.2006. 21:00 ] @
Sve ovo sto si pitao si mogao lako naci u bilo kojoj knjizi o C-u. Zato ti preporucujem da kupis jednu.

Neces daleko dogurati ako ovakve stvari budes ucio sa foruma...
[ k4rl0 @ 18.03.2006. 22:20 ] @
Citat:
Sve ovo sto si pitao si mogao lako naci u bilo kojoj knjizi o C-u. Zato ti preporucujem da kupis jednu.

Neces daleko dogurati ako ovakve stvari budes ucio sa foruma...

Mudro zbori covjek,ja sam jednom postavio 500 jednostavnih pitanja na forum,i
za svaku gresku koju je kompajler vracao sam pitao ljude..
Naravno da sam dobio od**b i shvatio sam da nikamo necu stici ako ne
krenem na knjige i pisanje koda
[ leka @ 20.03.2006. 17:36 ] @
Odgovor(i) na prvo pitanje:
fopen - http://man.nu6.org/index.php/man/fopen/3
fclose - http://man.nu6.org/index.php/man/fclose/3
fprintf - http://man.nu6.org/index.php/man/fprintf/3
fscanf - http://man.nu6.org/index.php/man/fscanf/3
[ leka @ 20.03.2006. 17:45 ] @
Citat:

char ifilename[] = "c:/lesson13_in.txt";


zasto char[] (zasto zagrade ?).


Zato sto C nema string tip. String u C (C++ ima std::string, ali se cesto koristi C string) je zapravo niska bajtova, koja se zavrsava sa '\0' (hex: 0x00).

Ova gore linija koda koju si dao kao primer je malo specificna i znaci recima: deklarisi novu varijablu (objekat) tipa niza bajtova (char), definisi je (dodeli joj neku vrednost). Ono sto je specificno je to "[]" koje bukvalno prepusta kompajleru da sam odluci koliko elemenata ta niska treba da ima.

Da nije tih zagrada, bila bi greska, jer ne mozes char objektu (promenljivoj) dodeliti char* objekat (sve sto je unutar navodnika je tzv. string literal, i tipa je char*, osim ako se explicitno ne navede nesto drugo, sto izlazi iz obima ovog teksta).

Ovo gore je moglo da se napise i ovako:

char* ifilename = "c:/lesson13_in.txt";