cari
  • Log masuk
  • Daftar
Penetapan semula kata laluan berjaya

Ikuti proiects vou berminat dengan andi aet terbaru mengenai mereka

Jadual Kandungan
Memahami argc dan argv
Akses asas dan pemeriksaan keselamatan
Corak penghuraian hujah mudah
Alternatif moden (C 17 dan seterusnya)
Rumah pembangunan bahagian belakang C++ Bagaimana untuk membaca hujah baris arahan dalam C ? (argc, tutorial argv)

Bagaimana untuk membaca hujah baris arahan dalam C ? (argc, tutorial argv)

Dec 30, 2025 am 04:04 AM

Fungsi utama dalam C menerima parameter baris arahan melalui argc dan argv: argc ialah bilangan parameter (sekurang-kurangnya 1, termasuk nama program), argv ialah tatasusunan penunjuk yang menunjuk kepada setiap rentetan parameter, argv[argc] ialah penunjuk nol dan argc mesti diperiksa sebelum mengakses untuk mengelakkan di luar sempadan.

Bagaimana untuk membaca hujah baris arahan dalam C ? (argc, tutorial argv)

Dalam C , argumen baris perintah dihantar ke fungsi main melalui dua parameter: argc (kiraan hujah) dan argv (vektor hujah). argc ialah integer yang memberitahu anda bilangan argumen yang dibekalkan, termasuk nama program. argv ialah tatasusunan rentetan gaya C ( char* ) yang menunjuk kepada setiap hujah.

Memahami argc dan argv

argc sentiasa sekurang-kurangnya 1 — kerana argv[0] memegang nama atau laluan program (seperti yang dipanggil). Setiap elemen berikutnya ( argv[1] , argv[2] , dsb.) sepadan dengan hujah yang ditaip selepas nama program. Tatasusunan berakhir dengan penuding nol ( argv[argc] == nullptr ), jadi selamat untuk gelung dari 0 kepada argc - 1 .

  • ./myapp hello worldargc = 3 , argv[0] = "./myapp" , argv[1] = "hello" , argv[2] = "world"
  • ./myapp -v --input=file.txtargc = 4 ; tiada penghuraian automatik — anda mengendalikan pemisahan dan makna

Akses asas dan pemeriksaan keselamatan

Sentiasa semak argc sebelum mengakses argv[i] untuk mengelakkan tingkah laku yang tidak ditentukan. Contohnya, jika program anda menjangkakan sekurang-kurangnya satu hujah yang disediakan pengguna, sahkan argc > 1 .

  • Gunakan if (argc \n"; return 1; }
  • Tukar argv[i] kepada std::string untuk manipulasi yang lebih mudah: std::string arg(argv[1]);
  • Ingat: elemen argv ialah rentetan C yang ditamatkan nol — selamat untuk dihantar ke fungsi perpustakaan C seperti strcmp atau atoi , tetapi lebih suka alternatif C ( std::stoi , std::string::compare ) apabila boleh

Corak penghuraian hujah mudah

Untuk penggunaan asas berasaskan bendera (cth, -h , --help , -o output.txt ), lelaran melalui argv bermula pada indeks 1 dan periksa setiap rentetan:

  • Semak argv[i][0] == '-' untuk mengesan bendera
  • Mengendalikan pilihan pendek seperti -v ( argv[i][1] == 'v' ) dan pilihan panjang seperti --verbose menggunakan std::string(argv[i]).compare("--verbose") == 0
  • Jika bendera menjangkakan nilai (cth, -o file.txt ), pastikan i 1 sebelum membaca <code>argv[i 1]

Alternatif moden (C 17 dan seterusnya)

Walaupun argc/argv kekal standard, pertimbangkan untuk membungkusnya untuk kejelasan dan keselamatan:

  • Buat std::vector<:string></:string> daripada argv : std::vector<:string> args(argv, argv argc);</:string>
  • Gunakan perpustakaan seperti Poco , argparse , atau argh untuk penghuraian deklaratif yang mantap
  • Untuk kes mudah, gelung berstruktur dengan berasaskan julat for lebih vektor lebih mudah dibaca daripada aritmetik penunjuk mentah

Atas ialah kandungan terperinci Bagaimana untuk membaca hujah baris arahan dalam C ? (argc, tutorial argv). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi [email protected]

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat popular

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)