What are Command Line Arguments in Hindi
/ BCA / Programming with C and CPP
Command Line Arguments in C Explained in Hindi
What are Command Line Arguments in Hindi
Command Line Arguments वो जानकारी होती है जो हम किसी C प्रोग्राम को रन करते समय command line के माध्यम से provide करते हैं। आमतौर पर जब हम कोई C प्रोग्राम बनाते हैं और उसे चलाते हैं, तो वह सिर्फ main() function से शुरू होता है। लेकिन अगर हम चाहते हैं कि यूज़र प्रोग्राम चलाते समय कुछ input भी दे, तो इसके लिए हमें command line arguments का उपयोग करना होता है।
Command line arguments के जरिए हम program को रन करते समय ही values पास कर सकते हैं। इससे हमें user से input लेने के लिए अलग से scanf() या gets() जैसी functions लगाने की जरूरत नहीं पड़ती। यह तरीका shell या terminal में ज्यादा इस्तेमाल होता है, खासकर Linux environment में।
उदाहरण के लिए समझें:
मान लीजिए हमने एक प्रोग्राम बनाया है जो दो नंबरों का योग करता है। अगर हम उसे इस तरह चलाते हैं:
./sum 10 20
तो यहाँ:
./sum→ यह प्रोग्राम का नाम है10→ पहला argument है20→ दूसरा argument है
इस तरह main() function इन values को command line से प्राप्त करता है।
Syntax of Command Line Arguments in C in Hindi
Command Line Arguments को use करने के लिए main() function की definition थोड़ी अलग होती है। सामान्यतः हम इसे इस प्रकार लिखते हैं:
int main(int argc, char *argv[])
या
int main(int argc, char **argv)
इसका अर्थ:
argc(Argument Count) → यह integer टाइप का होता है जो यह बताता है कि command line से कितने arguments दिए गए हैं। इसमें प्रोग्राम का नाम भी शामिल होता है।argv(Argument Vector) → यह character pointers की array होती है जो actual arguments को store करती है।
ध्यान देने योग्य बातें:
argv[0]→ हमेशा प्रोग्राम का नाम store करता है।argv[1]से आगे → user द्वारा दिए गए arguments store होते हैं।
argc and argv in Command Line Arguments in Hindi
अब आइए थोड़ा detail में समझते हैं argc और argv के बारे में:
1. argc क्या है?
argcएक integer value होती है।- यह count करती है कि command line में कितने arguments दिए गए हैं।
- इसमें
argv[0]यानी प्रोग्राम का नाम भी गिना जाता है। - यदि हम कोई argument पास नहीं करते, तो भी
argcकी value 1 होगी (क्योंकि program name तो रहता ही है)।
2. argv क्या है?
argvएक array होती हैchar *टाइप की, यानी string pointers की।- यह उन सभी arguments को store करती है जो command line से पास किए जाते हैं।
- हर element एक string होता है।
argv[0]में program का नाम होता है,argv[1]में पहला argument और ऐसे ही आगे।
argv को loop से कैसे process करें?
for(int i = 0; i < argc; i++) {
printf("Argument %d: %s\n", i, argv[i]);
}
Example of Command Line Arguments Program in Hindi
नीचे एक basic प्रोग्राम दिया गया है जो दो numbers को add करता है और उन्हें command line से लेता है:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s num1 num2\n", argv[0]);
return 1;
}
int num1 = atoi(argv[1]);
int num2 = atoi(argv[2]);
int sum = num1 + num2;
printf("Sum: %d\n", sum);
return 0;
}
Output:
यदि हम टर्मिनल में इस प्रोग्राम को ऐसे चलाते हैं:
./sum 25 35
तो इसका output होगा:
Sum: 60
इस प्रोग्राम में क्या हुआ?
- User ने दो numbers दिए command line से।
- हमने
argcसे verify किया कि exactly 3 arguments (including program name) हैं। argv[1]औरargv[2]को integer में convert कियाatoi()function से।- फिर उनका योग करके output में दिखाया।
Command Line Arguments से संबंधित महत्वपूर्ण बातें:
- Command line arguments हमेशा string के रूप में मिलते हैं, इसलिए उन्हें integer में बदलने के लिए
atoi()याstrtol()का उपयोग करना पड़ता है। - अगर arguments गलत या कम हों, तो user को proper instruction दिखाना चाहिए।
- Command line arguments से प्रोग्राम flexible बनते हैं क्योंकि user input पहले से ही निर्धारित कर सकता है।
- यह concept competitive programming और Linux utilities में बहुत उपयोगी होता है।
जब arguments dynamic हों तो क्या करें?
मान लीजिए आपको कितने भी arguments को sum करना है, चाहे user 2 दे या 10, आप ऐसा loop से कर सकते हैं:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int sum = 0;
for (int i = 1; i < argc; i++) {
sum += atoi(argv[i]);
}
printf("Total Sum: %d\n", sum);
return 0;
}
यह code जितने भी integer arguments दिए जाएंगे, उनका योग कर देगा।
FAQs
main() function में argc और argv के माध्यम से program में पहुँचते हैं।
main() function को इस तरह लिखा जाता है: int main(int argc, char *argv[])। यहाँ argc argument की संख्या दर्शाता है और argv उन arguments को array के रूप में store करता है।
argc बताता है कि कुल कितने arguments दिए गए हैं (program name सहित), और argv एक array होती है जो उन सभी arguments को string के रूप में store करती है। argv[0] program का नाम होता है और argv[1] से आगे user द्वारा दिए गए input होते हैं।
./program 10 20 में 10 और 20 दो arguments हैं जिन्हें program argv[1] और argv[2] से access कर सकता है।
for(int i = 1; i < argc; i++) loop का उपयोग करके सभी arguments को process किया जा सकता है।