मैंने एक कोड लिखा था जिसमें मुख्य मापदंडों को प्रदर्शित करना था, लेकिन जब मैंने इसे संकलित किया और "*" कार्यक्रम में टाइप किया तो मेरी फ़ाइल संरचना दिखाई दी। Cmd में कमांड इस तरह दिखता है:program.exe 1 2 3 *
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const* argv[]) {
for (int i=0; i<argc; i++) printf("%s\n", argv[i]);
return 0;
}
परिणाम है:
program
1
2
3
program.c
program.exe
10-03-20
11-02-20
और मेरा प्रश्न: क्या फाइलों को सूचीबद्ध करने के बजाय "*" प्रिंट करने के लिए प्रोग्राम को मजबूर करना संभव है। सलाह में धन्यवाद
*
परिवर्तित किया "file1 file2 ..."
गया है। आपके सी प्रोग्राम में कुछ भी गलत नहीं है (हालांकि <stdlib.h>
आवश्यक नहीं है)। स्टार उपयोग उद्धरण बदलने के लिए शेल को रोकने के लिए :program.exe 1 2 3 "*"
char const* argv[]
सही नहीं है। आप अपने द्वारा मुख्य () के रूपों का आविष्कार नहीं कर सकते, केवल कंपाइलर ही ऐसा कर सकते हैं। argv
स्मृति वास्तव में पढ़ने / लिखने के लिए है, भले ही यह अक्सर सबसे अच्छा विचार नहीं है।
*
खोल, नहीं कार्यक्रम में ही द्वारा व्याख्या हो जाता है। का प्रयोग करें\*
या"*"
कार्यक्रम को पास करने के लिए।