Argc at Argv C++

Argc At Argv C



Habang nagsusulat ng mga programang C++, alam nating lahat na ang function na 'pangunahing()' ay itinuturing na napakahalaga dahil hindi natin mai-compile ang ating programa kung nawawala ang pagpapatupad ng function na ito. Tulad ng lahat ng iba pang mga function sa C++, ang 'main()' function ay may kakayahang tumanggap ng mga argumento. Gayunpaman, ang pagkakaiba sa pagitan ng pagpasa ng mga argumento sa 'pangunahing()' na function mula sa pagpasa ng mga argumento sa iba pang mga function ay kailangan mong ipasa ang mga argumento sa command line sa dating kaso. Ito ay dahil ang 'main()' function mismo ay ang driver function kung kaya't walang ibang function ang may kakayahang tumawag dito at magpasa ng mga argumento dito. Sa artikulong ito, tatalakayin natin ang dalawang parameter ng function na 'pangunahing()', ibig sabihin, 'argc' at 'argv' sa C++ sa Ubuntu 20.04.

Ano ang Argc at Argv sa C++ sa Ubuntu 20.04?

Ang parameter na 'argc' ay tumutukoy sa bilang ng argumento, samantalang ang 'argv' ay tumutukoy sa isang array ng character na nagtataglay ng lahat ng mga argumento na ipinapasa sa function na 'main()' sa pamamagitan ng command line sa oras ng pagpapatupad ng isang programa sa C++. Dito, kailangan mong malaman na ang 'argc' ay palaging nagpapakita ng bilang ng argumento bilang '1' higit sa aktwal na bilang ng mga naipasa na argumento. Ito ay dahil ang pangalan ng object file ay binibilang din bilang isang command-line argument. Maaari mong ipasa ang mga argumento ng command line na kabilang sa anumang uri ng data sa function na 'main()'. Ang kailangan mo lang alagaan ay ang mga parameter na ito ay binanggit sa prototype ng iyong 'pangunahing()' function kung gusto mong i-access ang mga ito sa loob nito. Gayunpaman, ang function na 'main()' ay maaaring gumana nang perpekto nang wala ang dalawang parameter na ito. Tatalakayin ito sa susunod na seksyon ng artikulong ito, pagkatapos nito ay magpapatuloy tayo sa paggamit ng dalawang parameter na ito sa C++ sa Ubuntu 20.04.

Ang Pangunahing Pag-andar nang walang Argc at Argv sa C++:

Una sa lahat, nais naming sabihin sa iyo na ang function na 'main()' sa C++ ay maaaring gumana nang perpekto kahit na hindi ginagamit ang mga parameter na 'argc' at 'argv'. Ito ay inilalarawan sa sumusunod na C++ program:









Mayroon kaming simpleng function na 'main()' sa program na ito nang walang anumang argumento. Sa loob ng function na 'main()', nagpi-print lang kami ng sample na mensahe sa terminal.



Pagkatapos, pinagsama-sama namin ang pangunahing programang C++ na ito sa tulong ng utos na binanggit sa ibaba:





$ g++ CommandLine.cpp –o CommandLine

Pagkatapos, isinagawa namin ang program na ito sa pamamagitan ng pagpapatakbo ng sumusunod na command:



$ . / CommandLine

Ang output ng simpleng C++ program na ito ay ipinapakita sa larawan sa ibaba:

Pagpapatakbo ng isang C++ Program nang hindi Nagpapasa ng anumang Mga Pangangatwiran sa Command Line:

Ngayon, susubukan naming ipatupad ang isang C++ program kung saan ang function na 'main()' ay may kakayahang tanggapin ang mga parameter na 'argc' at 'argv', gayunpaman, hindi namin ipapasa ang mga argumentong ito dito habang isinasagawa ang program na ito mula sa terminal. Ang nasabing C++ program ay ipinapakita sa sumusunod na larawan:

Sa C++ program na ito, ang aming 'main()' function ay may kakayahang tumanggap ng 'argc' at 'argv' na mga parameter. Gayunpaman, dahil hindi namin nilayon na ipasa ang mga halagang ito dito sa partikular na halimbawang ito, sinadya naming ipantay ang 'argc' sa '0' upang kapag sinubukan naming i-print ang halaga nito, hindi ito magbabalik ng anumang halaga ng basura. Pagkatapos nito, nai-print namin ang halaga ng parameter na 'argc' sa terminal. Pagkatapos, gumamit kami ng 'para sa' loop para sa pag-print ng lahat ng mga argumento ng command line sa terminal.

Inipon namin ang code na ito gamit ang command na ipinapakita sa ibaba:

$ g++ CommandLine.cpp –o CommandLine

Pagkatapos, kapag gusto naming patakbuhin ang program na ito, hindi kami nagpasa ng anumang mga argumento ng command-line dito, tulad ng makikita mo mula sa sumusunod na command:

$ . / CommandLine

Mula sa output ng C++ program na ito na ipinapakita sa larawan sa ibaba, makikita mo na walang command-line na argumento ang naipasa sa function na ito dahil kung saan ang bilang ng argumento ay '0' at walang mga argumento na naka-print sa terminal dahil ang character array ' argv” ay walang laman din.

Pagpapatakbo ng C++ Program na may Integer Type Command Line Argument:

Ngayon, gusto naming patakbuhin ang parehong C++ na programa sa pamamagitan ng pagpasa ng mga argumento ng command-line na uri ng integer dito. Gayunpaman, bago gawin iyon, bahagyang babaguhin namin ang aming code tulad ng ipinapakita sa sumusunod na larawan:

Ang tanging pagbabago na ginawa namin sa code na ito ay inalis namin ang linyang 'argc=0' mula dito dahil sa halimbawang ito, gusto naming i-print ang aktwal na bilang ng mga argumento ng command line na ipinasa sa program na ito sa oras ng pagtakbo. Ang natitirang bahagi ng code ay eksaktong kapareho ng ginamit sa seksyon sa itaas.

Binuo namin ang aming binagong code gamit ang command na ipinapakita sa ibaba:

$ g++ CommandLine.cpp –o CommandLine

Pagkatapos, para sa pagpapatupad ng code na ito, ginamit namin ang mga sumusunod na argumento ng command-line:

$ . / CommandLine 1 dalawa 3

Nangangahulugan ito na naipasa namin ang tatlong integer type na command-line na argumento sa C++ program na ito habang pinapatakbo ito, ibig sabihin, 1, 2, at 3.

Ang output ng binagong program na ito ay ipinapakita sa larawan sa ibaba:

Ang kabuuang bilang ng mga argumento na ibinalik ng programang C++ na ito ay '4' ibig sabihin, tatlong integer na argumento na naipasa namin + ang pangalan ng object file. Ang program na ito ay nag-print din ng mga elemento ng 'argv' character array sa terminal, ibig sabihin, ang aktwal na mga argumento ng uri ng integer na ipinasa sa program na ito sa oras ng pagpapatupad, kasama ang pangalan ng programa.

Pagpapatakbo ng C++ Program na may Mga Pangangatwiran sa Command Line na Uri ng Karakter:

Ngayon, gusto naming makita kung gumagana nang maayos ang parehong C++ program kapag sinubukan naming isagawa ito sa pamamagitan ng pagpasa ng mga argumento ng command-line na uri ng character dito. Para diyan, hindi na namin kinailangan pang baguhin ito. Kailangan lang namin itong isagawa gamit ang mga argumento ng command-line na uri ng character tulad ng sumusunod:

$ . / CommandLine a b c d e f

Nangangahulugan ito na naipasa namin ang anim na character na uri ng command-line na mga argumento sa C++ program na ito habang pinapatakbo ito, ibig sabihin, a, b, c, d, e, at f.

Ang output na ginawa bilang resulta ng pagpasa ng mga argumento ng command-line na uri ng character sa parehong C++ program ay ipinapakita sa ibaba:

Ang kabuuang bilang ng mga argumento na ibinalik ng C++ program na ito ay '7' ibig sabihin, anim na character na argumento na naipasa namin + ang pangalan ng object file. Ang program na ito ay nag-print din ng mga elemento ng 'argv' character array sa terminal, ibig sabihin, ang aktwal na mga argumento ng uri ng character na ipinasa sa program na ito sa oras ng pagpapatupad, kasama ang pangalan ng programa.

Konklusyon:

Ang artikulong ito ay naglalayong talakayin ang dalawang argumento sa command-line, na kilala rin bilang mga parameter ng function na 'main()', ibig sabihin, 'argc' at 'argv'. Napag-usapan namin ang kahalagahan ng dalawang parameter na ito sa pamamagitan ng pagsasabi ng kanilang paggamit. Pagkatapos, nagbahagi kami ng ilang halimbawa sa iyo na naglalarawan ng paggamit ng 'argc' at 'argv' sa C++ sa Ubuntu 20.04. Bukod dito, nilinaw din namin na kahit hindi ginagamit ang mga parameter na ito, ang function na 'pangunahing()' ay maaaring gumana nang maayos. Samakatuwid, kapag nabasa mo na ang artikulong ito, mauunawaan mo ang paggamit ng 'argc' at 'argv' nang napakalinaw sa C++.