Archive for the ‘C/C++/C#/CBuilder’ category

Parametrii functiei main in C partea a II-a

November 9th, 2010

Se pare ca functia main din c nu este complet declarata asa :
int main(int argc,char** argv) ci astfel
int main(int argc,char** argv,char** envp)
Cel de al treilea parametru “envp” este un tablou care face referire la adresele variabilelor de mediu . Desi provine din mediul unix/linux acesta este folosit si de Microsoft
Aceasta variabila poate fi folosita astfel :

1. while(*envp){
printf(" Variabila de mediu %s\n",*envp);
envp++;}

2. extern char** environ;//envp si environ sunt echivalente
main(){
while(*environ){
printf(" Variabila de mediu %s\n",*environ);
environ++;}

3. char* mediu;
if((mediu=getenv("HOME"))==NULL)
printf("Variabila HOME nu este definita");
else printf("Variabila HOME este %s",mediu);

Metodele 2 si 3 au nevoie de includerea bibliotecii “stdlib.h”

Parametrii functiei main in C

February 6th, 2010

In acest tutorial “Parametrii functiei main” am scris un mic exemplu cum sa utilizati parametrii functiei main .

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

void use(void);
 
int main(int argc,char *argv[]){
int i,c;
/*prima varianta , intotdeauna argv[0] este numele programului
dupa care urmeaza optiunile tale*/
for(i=0;i<argc;i++)
fprintf(stdout,"%sn",argv[i]);
 
/*a doua varianta care utilizeaza getopt(...)*/
while((c=getopt(argc,argv,"oO"))!=-1){
switch(c){
case 'o': /*...*/ fprintf(stdout,"Ai optiunea o\n"); br
case 'O': /*...*/fprintf(stdout,"Ai optiunea O\n"); bre
default :  use();}
}
 
return 0;}
 
void use(void){
fprintf(stdout,"./NumeProgram -oO\n"); exit(1);}

Te-ai intrebat cum functioneaza programele din windows cum ar fi ping , ipconfig , etc .
De exemplu de ce stie ping sa “trimita” pachete la adresa 192.168.0.100 , ei bine e simplu sunt folositi parametrii functiei main .