.
Home » , » Belajar C++ Bag.9

Belajar C++ Bag.9

Unknown | 04.44 | 0 komentar

Pelajaran 9 - String
Dalam C + + ada dua jenis string, C-string gaya, dan C + +-gaya string. Pelajaran ini akan membahas C-gaya string. C-string gaya yang benar-benar array, tetapi ada beberapa fungsi yang berbeda yang digunakan untuk string, seperti menambah string, menemukan panjang string, dan juga memeriksa untuk melihat apakah string cocok. Definisi string akan menjadi apa pun yang berisi lebih dari satu karakter dirangkai. Misalnya, "Ini" adalah string. Namun, karakter tunggal tidak akan string, meskipun mereka dapat digunakan sebagai string.
String adalah array dari karakter. String literal adalah kata-kata yang dikelilingi oleh tanda kutip ganda.


 
"Ini adalah string statis"

Untuk mendeklarasikan string dari 49 huruf, Anda akan ingin mengatakan:


 
Char string [50];

Ini akan mendeklarasikan string dengan panjang 50 karakter. Jangan lupa bahwa array dimulai dari nol, tidak 1 untuk nomor indeks. Selain itu, string diakhiri dengan karakter null, harfiah '\ 0' karakter. Namun, ingatlah bahwa akan ada karakter tambahan di ujung pada string. Hal ini seperti periode di akhir kalimat, itu tidak dihitung sebagai surat, tetapi masih memakan ruang. Secara teknis, dalam array char lima puluh Anda hanya bisa memegang surat 49 dan satu karakter null pada akhir untuk mengakhiri string.
MENGAMBIL CATATAN: char * arry, juga dapat digunakan sebagai string. Jika Anda telah membaca tutorial pada pointer, Anda dapat melakukan sesuatu seperti:


 
arry = new char [256];

yang memungkinkan Anda untuk mengakses arry hanya seolah-olah itu adalah sebuah array. Perlu diingat bahwa untuk menggunakan menghapus Anda harus menempatkan [] antara menghapus dan arry untuk menceritakannya untuk membebaskan semua 256 byte memori yang dialokasikan.
Sebagai contoh:


 
menghapus [] arry.

String berguna untuk menahan semua jenis masukan yang panjang. Jika Anda ingin pengguna untuk masukan nya atau namanya, Anda harus menggunakan string. Menggunakan cin >> untuk memasukkan karya string, tetapi akan mengakhiri string setelah membaca ruang pertama. Cara terbaik untuk menangani situasi ini adalah dengan menggunakan cin.getline fungsi. Secara teknis cin adalah kelas (binatang mirip dengan struktur), dan Anda memanggil salah satu fungsi anggotanya. Yang paling penting adalah untuk memahami bagaimana menggunakan fungsi namun.
Prototipe untuk fungsi yaitu:


 
istream & getline (char * buffer, int panjang, char terminal_char);

Buffer char * adalah pointer ke elemen pertama dari array karakter, sehingga benar-benar dapat digunakan untuk mengakses array. Panjang int hanya berapa lama string menjadi masukan bisa berada di maksimum (seberapa besar array). The terminal_char char berarti bahwa string akan berakhir jika pengguna input karakter apa pun itu. Perlu diingat bahwa hal itu akan membuang apapun karakter terminal.
Hal ini dimungkinkan untuk membuat panggilan fungsi cin.getline (arry, 50), tanpa karakter terminal. Perhatikan bahwa '\ n' adalah cara untuk benar-benar memberitahu compiler Anda berarti baris baru, yaitu seseorang menekan tombol enter.
Misalnya:


 
# Include

 
menggunakan namespace std;

 
int main ()
 
{
  
Char string [256]; / / Sebuah string panjang yang menyenangkan

  
cout << "Silakan masukkan string panjang:";
  
cin.getline (string, 256, '\ n'); / / Input masuk ke dalam string
  
cout << "string panjang Anda adalah:" << String << endl;
  
cin.get ();
 
}

Ingatlah bahwa Anda benar-benar melewati alamat dari array ketika Anda lulus string karena array tidak memerlukan operator alamat (&) yang akan digunakan untuk melewati alamat mereka. Selain itu, Anda bisa membuat '\ n' karakter apapun yang Anda inginkan (pastikan untuk menyertakan dengan tanda kutip tunggal untuk menginformasikan compiler status karakter) untuk memiliki getline yang berakhir pada karakter itu.
cstring adalah file header yang berisi banyak fungsi untuk memanipulasi string. Salah satunya adalah fungsi perbandingan string.


 
int strcmp (const char * s1, const char * s2);

strcmp akan menerima dua string. Ini akan mengembalikan integer. Bilangan bulat ini juga akan menjadi:


 
Negatif jika s1 kurang dari s2.
 
Nol jika s1 dan s2 adalah sama.
 
Positif jika s1 lebih besar dari s2.

Strcmp adalah kasus sensitif. Strcmp juga melewati alamat dari array karakter ke fungsi untuk memungkinkan untuk diakses.


 
char * strcat (char * dest, const char * src);

strcat adalah singkatan dari concatenate string, yang berarti menambah sampai akhir, atau menambahkan. Ia menambahkan string kedua string pertama. Ia mengembalikan pointer ke string concatenated. Waspadalah fungsi ini, diasumsikan bahwa dest adalah cukup besar untuk menampung seluruh isi src serta isinya sendiri.


 
char * strcpy (char * dest, const char * src);

strcpy adalah singkatan copy string, yang berarti itu salinan seluruh isi src ke dest. Isi dest setelah strcpy akan persis sama dengan src sehingga strcmp (dest, src) akan mengembalikan 0.

 
size_t strlen (const char * s);

strlen akan mengembalikan panjang string, minus karakter termating ('\ 0'). The size_t adalah tidak perlu khawatir. Hanya memperlakukannya sebagai integer yang tidak dapat menjadi negatif, yang itu.
Berikut ini adalah program kecil menggunakan banyak fungsi dijelaskan sebelumnya:

 
# Include / / Untuk cout
 
# Include <cstring> / / Untuk fungsi string

 
menggunakan namespace std;

 
int main ()
 
{
  
nama char [50];
  
Char lastname [50];
  
Char nama lengkap [100]; / / Cukup besar untuk memegang kedua nama dan nama belakang

  
cout << "Silakan masukkan nama Anda:";
  
cin.getline (nama, 50);
  
if (strcmp (nama, "Julienne") == 0) / / string Equal
    
cout << "Itu nama saya juga \ n.";
  
lain / / Tidak sama
    
cout << "Itu bukan nama saya \ n.";
  
/ / Tentukan panjang nama Anda
  
cout << "Nama Anda adalah" << strlen (nama) << "surat panjang \ n";
  
cout << "Masukkan nama belakang Anda:";
  
cin.getline (NamaBelakang, 50);
  
nama lengkap [0] = '\ 0'; pencarian / / strcat untuk '\ 0' untuk kucing setelah
  
strcat (nama lengkap, nama); / / Copy nama menjadi nama lengkap
  
strcat (nama lengkap, ""); / / Kami ingin memisahkan nama-nama dengan spasi
  
strcat (nama lengkap, nama belakang), lastname / / Copy ke akhir nama lengkap
  
cout << "nama lengkap Anda adalah" << nama lengkap << "\ n";
  
cin.get ();
 
}
Share this article :

0 komentar:

Posting Komentar

Arsip Blog

Recent Post

Labels

  • A (6)
  • B (20)
  • C (20)
  • D (8)
  • E (2)
  • F (14)
  • G (1)
  • I (3)
  • J (6)
  • K (5)
  • L (1)
  • M (16)
  • N (4)
  • P (11)
  • Q (2)
  • R (2)
  • S (7)
  • T (9)
  • U (2)
  • V (11)
  • W (6)
.
 
Support : HONOR JANGAR | HONOR JANGAR INDONESIA | HONOR JANGAR
Copyright © 2013. Pak RT atau Pak RW - All Rights Reserved
Template Modify by Honor Jangar Indonesia
Proudly powered by Blogger