C++ Console App: Mendapatkan Argumen Baris Perintah
Aplikasi konsol C++ dapat menerima input dari pengguna melalui argumen baris perintah. Argumen ini adalah string yang diberikan kepada program saat dijalankan.
Berikut adalah cara untuk mendapatkan argumen baris perintah dalam aplikasi konsol C++:
1. Header File iostream
dan cstdlib
Anda memerlukan header file iostream
untuk input/output dan cstdlib
untuk fungsi atoi
dan atof
yang akan digunakan untuk mengonversi argumen string menjadi integer atau float.
#include
#include
2. Menggunakan argc
dan argv
Fungsi main()
menerima dua argumen:
argc
: Integer yang menunjukkan jumlah argumen yang diberikan dalam baris perintah.argv
: Array dari string yang berisi argumen itu sendiri.argv[0]
selalu berisi nama program.
Contoh:
#include
#include
int main(int argc, char *argv[]) {
std::cout << "Jumlah Argumen: " << argc << std::endl;
// Menampilkan semua argumen
for (int i = 0; i < argc; ++i) {
std::cout << "Argumen " << i << ": " << argv[i] << std::endl;
}
return 0;
}
Cara Menjalankan:
- Simpan kode di atas sebagai
program.cpp
. - Kompilasi:
g++ program.cpp -o program
- Jalankan:
./program arg1 arg2 arg3
Output:
Jumlah Argumen: 4
Argumen 0: ./program
Argumen 1: arg1
Argumen 2: arg2
Argumen 3: arg3
3. Mengonversi Argumen ke Tipe Data Lain
Anda dapat mengonversi argumen string menjadi tipe data lain seperti integer atau float menggunakan fungsi atoi
dan atof
dari cstdlib
:
#include
#include
int main(int argc, char *argv[]) {
if (argc != 3) {
std::cerr << "Harap berikan dua argumen integer." << std::endl;
return 1;
}
// Mengonversi argumen string menjadi integer
int num1 = atoi(argv[1]);
int num2 = atoi(argv[2]);
// Menampilkan hasil penjumlahan
std::cout << "Hasil Penjumlahan: " << num1 + num2 << std::endl;
return 0;
}
Cara Menjalankan:
./program 5 10
Output:
Hasil Penjumlahan: 15
4. Memvalidasi Argumen
Penting untuk memvalidasi argumen yang diberikan untuk mencegah kesalahan program. Anda dapat memeriksa jumlah argumen, jenis data, dan rentang nilai.
Contoh:
#include
#include
int main(int argc, char *argv[]) {
if (argc != 3) {
std::cerr << "Harap berikan dua argumen integer." << std::endl;
return 1;
}
// Memvalidasi argumen integer
int num1 = atoi(argv[1]);
int num2 = atoi(argv[2]);
if (num1 < 0 || num2 < 0) {
std::cerr << "Argumen harus berupa integer positif." << std::endl;
return 1;
}
// Menampilkan hasil penjumlahan
std::cout << "Hasil Penjumlahan: " << num1 + num2 << std::endl;
return 0;
}
Cara Menjalankan:
./program -5 10
(akan menampilkan pesan error)./program 5 10
(akan menampilkan hasil penjumlahan)
Dengan memahami cara mendapatkan dan memvalidasi argumen baris perintah, Anda dapat membuat aplikasi konsol C++ yang lebih interaktif dan fleksibel.