Ana parametreleri görüntülemek zorunda olan bir kod yazdım, ama derlediğimde ve "*" programına yazdığımda dosya yapımı gösteriyor. Cmd'deki komut şuna benzer: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;
}
Sonuç:
program
1
2
3
program.c
program.exe
10-03-20
11-02-20
Benim sorum: Programı dosyaları listelemek yerine "*" yazdırmaya zorlamak mümkün mü? Tavsiyede teşekkürler
*
dönüştürülmesidir "file1 file2 ..."
. C programınızla ilgili yanlış bir şey yoktur (dahil <stdlib.h>
etmek gerekli değildir). Kabuğun yıldızı dönüştürmesini önlemek için tırnak işaretlerini kullanın:program.exe 1 2 3 "*"
char const* argv[]
doğru değil. Main () formlarını kendiniz icat edemezsiniz, sadece derleyici bunu yapabilir. argv
aslında en iyi fikir olmasa da, belleğe okumak / yazmaktır.
*
Kabuk, değil programın kendisi tarafından yorumlanır alır. Programa * geçmek için\*
veya tuşlarını kullanın"*"
.