[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linuxiran] [OT] C programming, variable size array
From: |
Mohammad Reza Ghorbani |
Subject: |
Re: [linuxiran] [OT] C programming, variable size array |
Date: |
Sat, 13 Dec 2003 07:47:08 +0330 |
User-agent: |
KMail/1.5 |
On Saturday 13 December 2003 00:51, Aryan Ameri wrote:
> exit(EXIT_SUCCESS);
> /*
> proper posix way to exit.
> */
> return 0;
>
> Which one do you mean is the proper POSIX way of exiting? the exit
> function? or return 0? I always put return 0; though my incompetent
> instructor doesn't even put it. But I haven't seen the exit() function
> before, well, I haven't studdied the POSIX standard !!!
>
> Also, what does sizeof() do? from the code it seems to me it is used for
> counting. Am I right?
>
> You use if (((char)tempValue) == EOF) to determine EOF. I
>
>
> The way I have learned, I use the getchar() function to do so, as in
> while ( (tmp = getchar() ) != EOF )
>
> Any advantages to any method?
>
> Also now that I am here, let me abuse your knowledge, and ask one more
> thing. I just learned the gets() function, and when I use it on my gcc
> 3.2, it gives me a "the gets function is dangerous. It shouldn not be
> used" warning. I guess gets is now deprecated, but it is still being
> tought in our univ. Do you know what is the correct way of inputting a
> string of characters, not using gets ?
>
> Thanks again, very very much.
>
> Cheers
Salam . . .
Aval mazerat mikham ke fingilish minivisam ! :( chon zabanam kheili bad
hastesh ! ama mohem nist :
dar morede soale avalet ke farghe "exit(EXIT_SUCCESS);" ba "return 0" bood
bayad begam ke agar dar akhare barname estefade beshan TAGHRIBAN hich farghi
ba ham nadaran.ama betore koli az "exit(int)" baraye khoroje gheyre normal ya
"ABNORMAL" estefade mishe.va baraye manteghe barname nevisi dorost nist
darhalate normal az on estefade konim.(hatman midoni har meghdari ke main()
return kone dar ENVAIROMENT VARIABLE e '$?' zakhire mishe ke ba shell
mitooni befahmi ke barname ba che error_codi kharej shode).
ama ye farghe kocholo baham daran ke momkene kasi az "exit(EXIT_SUCCESS);"
be jaie rerurn 0;"estefade kone (ama man jaie nadidam" :
bebin vaghti barnameie ma tamom mishe ye seri etefagh barash miyofde:
masalan:
1. agar TEMP FILE dasfte bashi ke khodet close nakarde bashi on "FILE *" close
mishe.
2.ya buffere STDIO, flush mishe va gheire !
va momkene yeki bekhad az vasate barname NORMAL kharej she ! :-o
return faghat male vaghtie ke reside bashi be akhare block!
vali akhare barname hich farghi baham nadaran!
ye chize dige ham begam :
bebin ye farghi mohem return ba exit dare :
return KeyWord hastesh va exit Function !
Performance KeyWord ha az Function ha kheili bishtare .
elatesham in ke KeyWord OVER_HEAD nadare vali function dare!
to C/C++ performance barname baromon kheili moheme!
baraye hamin ba return 0 barnamaro tamom mikonim!
be khatere hamin fekr nemikonam marbot be ANSI ya POSIX bashe!
be in dalaiel estefade nemikonan !
-----------------------------------------------------------------------------------------------------------------------------------
ye chize dige baraye EOF begam !
mamolan to linux rasm bar ine ke barname haie ke az Terminal mikhan faghat
vorodie chand khati begiran (MESLE PHP interpreter) vgahti kare user tamom
shod,user bayad ye "CONTROL + C" bezane.
in jori chi mishe ?
ye Signal be barname ferestade mishe be esme SIGINIT ke barname nevis in
signalo handel(catch) mikone! yani to barnamsh mige vaghti in signal resid ye
kari bokon!
agar dost dashti fekr mikonam az in ghabliyat estefade koni barnamat khoshgel
mishe!
chon nemidonam cheghadara ba signal ashnaie bishtar tozih nemidam! vali
agar khasti mitoni behem begi ke baz barat begam!
----------------------------------------------------------------------------------------------------------------------------------
ye chize dige :
gets tole vorodi ro chek nemikone va ta vaghti ke user '\n' type kone vorodi
migire! khob in kheili bade! momkene to ye 'char str[20]' tarif koni vali
tosh 45 CHAR berzan.in jori 25 khoneie badie hafezat kharab mishe!
va aslan malom nist chi be sare barnamat miyad!
agar esme BUFER_OVERFLOW ro shenide bashi bayad begam ke hameie in
exploit ha to interenet baraye deghat nakrdan be hamin moshkelat e!
baraye hamin agar to dashte bashi :
char str[20];
behtare benivisi:
fgets(str ,20 ,STDIN);
in khat daghighan kare hamono mikone vali kheili behtare !
----------------------------------------------------------------------------------------------------------------------------------
dar akhar pish nahad mikonam :
http://www.advancedlinuxprogramming.com
ro bekhoooonin !
-------------------------------------------------------------------------
Ghorbanat
Mohammad Reza
7 : 39 am
- [linuxiran] [OT] C programming, variable size array, Aryan Ameri, 2003/12/12
- Re: [linuxiran] [OT] C programming, variable size array, Arash Partow, 2003/12/12
- Re: [linuxiran] [OT] C programming, variable size array, Aryan Ameri, 2003/12/12
- Re: [linuxiran] [OT] C programming, variable size array, Arash Partow, 2003/12/12
- Re: [linuxiran] [OT] C programming, variable size array, Kaveh Mousavi, 2003/12/12
- Re: [linuxiran] [OT] C programming, variable size array,
Mohammad Reza Ghorbani <=
- Re: [linuxiran] [OT] C programming, variable size array, Arash Partow, 2003/12/13
Re: [linuxiran] [OT] C programming, variable size array, Hossein S. Zadeh, 2003/12/13