Argumen Baris Perintah di C Dijelaskan

Diterbitkan: 2022-04-29

Argumen baris perintah digunakan ketika sebuah program perlu dikontrol dari luar, bukan dari internal. Ini adalah antarmuka teks untuk pengembang di mana argumen langsung diteruskan ke metode utama.

Nilai-nilai yang dilewatkan dalam suatu fungsi saat dipanggil disebut sebagai argumen. Dengan kata lain, argumen adalah parameter yang diteruskan ke metode tertentu saat dipanggil.

Sintaks :

int main() { /* … */ }

Kode di atas menerima perintah dan meneruskannya ke sistem operasi komputer untuk dijalankan. Perintah-perintah ini selalu dipanggil ketika sebuah kode sedang dieksekusi.

Argumen baris perintah CC dan C++ cukup mudah diterapkan karena kesederhanaannya dan sintaks yang mudah diuraikan.

Untuk meneruskan argumen baris perintah, fungsi utama perlu didefinisikan oleh dua argumen:

  1. Jumlah total argumen baris perintah
  2. Seluruh daftar argumen baris perintah

Sintaks :

int main(int argc, char *argv[]) { /* … */ }

  1. argc (ARGument Count) didefinisikan sebagai tipe data integer yang menyimpan jumlah total argumen baris perintah. Maklum, ini harus selalu menjadi nilai non-negatif.
  2. argv (ARGument Vector) menunjukkan array pointer dari tipe data karakter yang digunakan untuk menyimpan seluruh daftar argumen baris perintah.

Dengan bantuan baris perintah, pengembang dapat mengakses berbagai file dan folder di komputer mereka. Program tertentu yang berisi beberapa argumen baris perintah dapat dengan cepat mengidentifikasi sumber atau tujuan dari data yang diberikan. Ini juga berpotensi mengubah fungsi program. Itu membuat proses pembangunan lebih mudah untuk dimasukkan ke dalam kontrol sumber.

Di bidang pengembangan, berbagai tugas tidak memerlukan visualisasi yang sebenarnya. Dalam kasus seperti itu, semua fungsi dapat dilakukan dengan bantuan argumen baris perintah. Ada persyaratan yang sangat langka untuk antarmuka grafis literal. Ini membantu menghemat banyak keuangan, tenaga, dan sumber daya.

Pelajari kursus pengembangan perangkat lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Daftar isi

Properti | Argumen Baris Perintah di C

Argumen baris perintah memiliki beberapa properti yang menarik dan berguna. Mereka adalah sebagai berikut:

  • Untuk mencetak nama program, perintahnya harus argv[0]
  • argv[argc] pada dasarnya adalah pointer nol
  • Untuk mencetak argumen pertama yang diberikan pengguna, perintahnya harus argv[1]
  • Pengguna melewati argumen baris perintah dari terminal
  • Penggunaan perintah ini adalah untuk mengontrol program dari luar, daripada harus mengkodekan nilai-nilai di dalam program
  • Argumen baris perintah diteruskan ke fungsi main() setiap saat
  • Argumen tanah perintah pertama adalah argv[1], sedangkan perintah terakhir adalah argv[n]

Contoh Argumen Baris Perintah

Berikut ini adalah program demo untuk argumen baris perintah di C:

// Program C untuk mengilustrasikan

// argumen baris perintah

#sertakan<stdio.h>

int main(int argc,char* argv[])

{

penghitung int;

printf(“Nama Program Adalah : %s”,argv[0]);

jika(argc==1)

printf(“\nTidak Ada Argumen Baris Perintah Tambahan yang Dilewati Selain Nama Program”);

jika(argc>=2)

{

printf(“\nJumlah Argumen yang Lulus: %d”,argc);

printf(“\n—-Berikut Apakah Argumen Baris Perintah Lulus—-“);

untuk(penghitung=0;penghitung<argc;penghitung++)

printf(“\nargv[%d]: %s”,penghitung,argv[penghitung]);

}

kembali 0;

}

Outputnya berbeda sesuai dengan berbagai skenario. Mereka telah dijelaskan lebih lanjut secara individual.

  1. Tanpa argumen:

Untuk menghasilkan output berikut, kode harus dieksekusi tanpa memberikan argumen:

Keluaran 1

$ ./a.out

Nama programnya adalah: ./a.out

Tidak Ada Argumen Baris Perintah Tambahan yang Dilewati Selain Nama Program

  • Dengan tiga argumen:

Untuk menghasilkan output berikut, kode harus dieksekusi dengan tiga argumen.

Keluaran 2 –

$ ./a.out Pertama Kedua Ketiga

Nama programnya adalah: ./a.out

Jumlah Argumen Lulus: 4

—-Berikut Apakah Argumen Baris Perintah Lulus—-

argv[0]: ./a.out

argv[1]: Pertama

argv[2]: Kedua

argv[3]: Ketiga

  • Dengan satu argumen:

Kode perlu dikompilasi dan dieksekusi dengan satu argumen yang harus dipisahkan oleh spasi saat berada di dalam tanda kutip untuk menghasilkan output berikut.

Keluaran 3 –

$ ./a.out “Pertama Kedua Ketiga.”

Nama programnya adalah: ./a.out

Jumlah Argumen Lulus: 2

—-Berikut Apakah Argumen Baris Perintah Lulus—-

argv[0]: ./a.out

argv[1]: Pertama Kedua Ketiga

  • Dengan satu argumen dalam tanda kutip dan dipisahkan oleh spasi:

Kode harus dikompilasi dan dieksekusi dengan argumen tunggal yang dipisahkan oleh spasi tetapi dalam tanda kutip tunggal untuk menghasilkan output berikut.

Keluaran 4 –

$ ./a.out 'Pertama Kedua Ketiga'

Nama programnya adalah: ./a.out

Jumlah Argumen Lulus: 2

—-Berikut Apakah Argumen Baris Perintah Lulus—-

argv[0]: ./a.out

argv[1]: Pertama Kedua Ketiga

Keuntungan Argumen Baris Perintah di C

Ada beberapa manfaat menggunakan argumen baris perintah di C. Mereka adalah sebagai berikut:

  • Argumen baris perintah dalam C dapat digunakan ketika seorang programmer atau pengguna ingin meneruskan nilai ke program dari dalam alih-alih melakukannya secara internal.
  • Aplikasi baris perintah dapat dibuat dengan sangat mudah untuk digunakan dalam file batch atau skrip. Ini datang sebagai bantuan besar dalam hal pengujian atau pembuatan otomatis.
  • Baris perintah lebih mudah dikembangkan jika pemrogram menulis alat daripada menggunakannya. Memasukkan argumen dianggap sebagai tugas yang jauh lebih kompleks dan memakan waktu daripada mengeluarkan aliran teks.
  • Aliran input, output, dan kesalahan dapat dengan mudah dialihkan ketika informasi dapat dikirim atau diterima dari berbagai file dan aplikasi.
  • Mekanisme pengembalian kesalahan dalam argumen baris perintah cukup standar dan sederhana.
  • Ketika seorang programmer atau pengguna mencoba untuk mendapatkan akses dari rumah atau di jalan, pada dasarnya saat sedang mobile, menggunakan remote shell atau koneksi serupa lainnya membuatnya lebih mudah untuk melakukan tugas-tugas.
  • Untuk fungsi menentukan banyak file, standar sintaks wildcard yang ditentukan hadir, yang menarik dari dan mengandalkan pengetahuan yang ada dari pengembang atau pemrogram.
  • Baris perintah menarik dan sangat cepat.

Berbicara tentang keuntungan dalam berbagai argumen baris perintah, berikut ini adalah contoh atau demonstrasi terperinci lainnya tentang bagaimana Anda harus mengimplementasikannya.

#sertakan <stdio.h>

#sertakan <conio.h>

//metode utama dipanggil ke mana argumen baris perintah diteruskan ke program

int main(int argc, char *argv[])

{

//sebuah variabel integer didefinisikan

dalam sebuah;

//jika kondisi diterapkan untuk memeriksa apakah jumlah argumen yang diteruskan ke program lebih besar dari atau sama dengan dua, dan jika kondisinya benar, argumen baris perintah yang diteruskan ke program akan dicetak. Jika tidak, tidak ada argumen yang diteruskan ke program yang dicetak

jika(argc >= 2)

{

printf(“Argumen yang diteruskan ke program adalah:\n”);

untuk(a = 1; a < argc; a++)

{

printf(“Argumen yang diteruskan ke program adalah: %s\t”, argv[a]);

}

}

kalau tidak

{

printf(“Tidak ada argumen yang diteruskan ke program\n”);

}

kembali 0;

}

Keluaran:

Tidak ada argumen yang diteruskan ke program.

Argumen baris perintah diteruskan ke program dalam kode yang disebutkan di atas dengan memanggil metode utama. Langkah selanjutnya adalah mendefinisikan variabel integer. Selanjutnya, kondisi dilewatkan untuk memeriksa apakah jumlah argumen yang diteruskan ke program lebih besar atau sama dengan 2. Argumen baris perintah yang diteruskan ke program akan dicetak jika kondisinya benar. Jika tidak, tidak ada argumen yang diteruskan ke program dan dicetak.

Kesimpulan

Pelajari lebih lanjut tentang pentingnya argumen baris perintah dalam C dan C++ dengan mendaftar ke Program PG Eksekutif upGrad dalam Pengembangan Perangkat Lunak – Spesialisasi dalam Pengembangan Full Stack . Kursus 13 bulan ini dirancang untuk membantu calon profesional TI menguasai Java, Spring, Hibernate, HTML, React, Git, dan berbagai bahasa dan alat pemrograman lainnya untuk membangun aplikasi kompleks seperti Quora dan Swiggy.

Program ini juga menawarkan Sertifikasi Eksekutif gratis selama 4 bulan dalam Ilmu Data & Pembelajaran Mesin.

Apa kerugian dasar yang harus dihadapi oleh programmer saat mengimplementasikan argumen baris perintah di C?

Meskipun argumen baris perintah di C nyaman untuk pengembang dan pemrogram, mereka membawa beberapa kelemahan. Orang yang tidak memiliki pengetahuan dasar dan tidak terbiasa bekerja dengan perintah ini mungkin terbukti cukup menantang untuk dipelajari dan beradaptasi, terutama dalam waktu singkat. Namun, ini bukan masalah bagi programmer dan pengembang yang mahir. Namun hal tersebut terkadang menjadi kendala bagi karyawan junior yang mungkin berasal dari bidang yang berbeda atau berdekatan. Selain itu, argumen baris perintah membutuhkan keyboard untuk diimplementasikan dan dieksekusi. Hal ini sering menjadi kendala jika seseorang perlu mengaksesnya melalui ponsel atau iPad, dll.

Pembatas mana yang digunakan untuk memisahkan argumen baris perintah?

Untuk memisahkan argumen baris perintah, biasanya digunakan spasi kosong. Mereka memisahkan nama perintah dari parameternya dan memisahkan berbagai parameter satu sama lain. Mereka juga berguna saat memisahkan daftar nilai yang berbeda. Multi blank biasanya diperlakukan sebagai single blank. Satu-satunya pengecualian untuk ini terjadi dalam string yang dikutip atau komentar yang diapit oleh tanda kutip tunggal.

Apakah mungkin untuk mengonversi argumen baris perintah?

Semua argumen baris perintah diteruskan sebagai string. Nilai numerik harus selalu dikonversi oleh pemrogram atau pengguna ke bentuk internal mereka, menggunakan upaya manual. Fungsi utama selalu menerima parameternya, yang biasanya berupa array string. Ini adalah satu-satunya argumen fungsi yang diterima oleh fungsi utama. Tipe data string dibuat untuk digunakan saat menyimpan argumen baris perintah.