Tuesday, 20 April 2010

Mudahnya dengan std::string (1)

Semakin kompleks program kita, semakin kita perlu menyederhakan sesuatu sehingga membuatnya menjadi mudah. Inilah yang ditawarkan oleh tipe data std::string untuk urusan mengolah string (baik karakter, kata ataupun kalimat). Jika kita masih menggunakan tipe data primitif dalam urusan string, yaitu char, siapin aja obat sakit kepala jika sewaktu-waktu kambuh lagi . Berikut contoh program untuk mengisi dan memindahkan string/kalimat dari variabel A ke B:

#include <iostream>
#include <string>

using namespace std;

int main()
{
//cara pertama
//dapat juga diisi seperti berikut:
//A[0] = 'T';
//A[1] = 'E';
//... dst
char A[10] = {'T','E','S',' ','D','O','A','N','G'}, B[10];
for( int c=0;c<10;c++){
B[c] = A[c];
cout<<B[c];
}

//cara kedua
char C[10], D[5];
strcpy(C,A);
strcpy(D,A);
cout<<"\n"<<C<<" "<<D;

//cara ketiga
char *_A = "TES DOANG", *_B;
_B = _A;
cout<<"\n"<<_B;

//cara keempat
string __A = "TES DOANG", __B(__A);
cout<<"\n"<<__B;

cout<<"\n\n";
system("pause");
return 0;
}


Cara pertama menggunakan array pada tipe data (pritimif) char, untung kata-katanya tidak lebih dari 10 sehingga pengisian terhadap variabel A menjadi lebih mudah. Pengopian atau proses perpindahan nilai pada cara pertama dilakukan satu-satu dengan pengulangan yang sudah ditentukan terlebih dahulu (yaitu sebanyak 10 kali). Sedangkan pada cara kedua lebih cepat lagi dan nggak perlu mengira-ngira berapa karakter yang akan dikopi. Tapi cara ini masih ada kekurangan (menurutku) kalau kita mengopi ke variabel yang jelas-jelas lebih kecil jumlah array-nya dari sumber data, maka saat ditampilkan (var D) akan terkopi semua karakter yang dimiliki oleh sumber data (A). Apakah strcpy(char *, const char *) akan menyesuaikan panjang array sesuai dari sumber datanya? Aku belum tau itu, ada yang mau ngasih tau?? . Cara ketiga lebih cepat lagi dalam mengisi string dan mengopinya ke variabel lain. Tapi dari ketiga cara sebelumnya, menggunakan string lebih efisien, cepat, hemat baris, dan masih banyak lagi keunggulannya. Untuk mendownload program selengkapnya dapat mengklik link ini dengan ukuran 110 KB. Selanjutnya masih dengan kemudahan string.

- krofz

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top