Command-line Arguments



Biasanya kita memberi nilai dari main() pada sebuah sub-program melalui parameter, tapi bisakah kita memberi nilai pada fungsi main() itu sendiri?
Disinilah gunanya Command-line Arguments, ialah argumen(nilai) yang kita beri melalui sistem operasi seperti Linux ke sebuah program.
Pertama-tama kita harus mengetahui dulu deklarasi parameter pada fungsi main(). Biasanya kita menulis seperti ini.
int main()
{

}
Untuk dapat menggunakan command-line arguments, kita mendeklarasikan fungsi main() seperti ini.
int main(int argc, char* argv[])
{

}
Contoh program sederhana.
#include <stdio.h>

int main(int argc, char* argv[])
{
   for (int i = 0; i < argc; i++)
   {
    printf("argv[%d]: %s\n", i, argv[i]);
   }

   return 0;
}

Program tersebut kita compile melalui terminal(ingat? Pemrograman C di Linux), lalu kemudian di-eksekusi seperti biasa dengan command ini.
./nama_program
Misalnya saya menamai file program tersebut cmdline.c, maka di-eksekusi seperti ini.
./cmdline
Dan outputnya akan seperti ini.

Misal saya beri nilai pada saat eksekusi melalui terminal seperti ini.
./cmdline azhary arliansyah
Maka outputnya akan seperti ini.

Bisa kita analisis, nilai variabel argc adalah jumlah kata yang kita ketik pada terminal(dalam hal ini 3, yaitu ./cmdline, azhary, arliansyah). Lalu kata(string) tersebut disimpan pada variabel array argv.

Sekian, semoga bermanfaat !

Post a Comment