String adalah deretan simbol yang tidak tertentu panjangnya. String bisa berupa huruf, angka, karakter khusus ataupun karakter unicode. C++ menyediakan tipe data string yang terdapat pada C++ Standard Template Library.
Contoh String menggunakan Standard Template Library.
String dapat dimanipulasi dengan aturan tertentu, macam-macam fungsi String adalah
- strlen
strlen digunakan untuk mengetahui panjang suatu string.
contoh:#include <stdio.h>
#include <string.h>int main(void)
{
char string[80];
int panjang;printf(“Masukan String: “);gets(string);
panjang=strlen(string);
printf(“Panjang String adalah %i karakter\n”,panjang);return 0;}
Jika kita memasukan “ABCD” makan akan keluar jumlah dari panjang string yang kita masukan.
2. strcpy digunakan untuk meng-copy string ke string lain.
#include <stdio.h>
#include <string.h>int main ()
{
char str1[]=”Sample string”;
char str2[40];
char str3[40];
strcpy (str2,str1);
strcpy (str3,”copy successful”);
printf (“str1: %s\nstr2: %s\nstr3: %s\n”,str1,str2,str3);
return 0;
}
output
str1: Sample string
str2: Sample string
str3: copy successful
3. strncpy digunakan untuk meng-copy string ke string lain sebanyak n karakter.
#include <stdio.h>
#include <string.h>int main ()
{
char str1[]= “To be or not to be”;
char str2[40];
char str3[40];/* copy to sized buffer (overflow safe): */
strncpy ( str2, str1, sizeof(str2) );/* partial copy (only 5 chars): */
strncpy ( str3, str2, 5 );
str3[5] = ‘\0’; /* null character manually added */puts (str1);
puts (str2);
puts (str3);return 0;
}
output
To be or not to be
To be or not to be
To be
4. strcat dingunakan untung menggabungkan dua string menjadi satu.
#include <stdio.h>
#include <string.h>int main ()
{
char str[80];
strcpy (str,”these “);
strcat (str,”strings “);
strcat (str,”are “);
strcat (str,”concatenated.”);
puts (str);
return 0;
}
output
these strings are concatenated.
5. strncat digunakan untuk menggabungkan dua buah string sebanyak n karakter.
#include <stdio.h>
#include <string.h>int main ()
{
char str1[20];
char str2[20];
strcpy (str1,”To be “);
strcpy (str2,”or not to be”);
strncat (str1, str2, 6);
puts (str1);
return 0;
}
output
To be or not
6. strcmp dingunakan untuk membandingkan dua string secara case sensitive dengan membadingkan karakter pertama.
#include <stdio.h>
#include <string.h>int main ()
{
char key[] = “apple”;
char buffer[80];
do {
printf (“Guess my favorite fruit? “);
fflush (stdout);
scanf (“%79s”,buffer);
}
while (strcmp (key,buffer) != 0);
puts (“Correct answer!”);
return 0;
}
output
Guess my favourite fruit? orange
Guess my favourite fruit? apple
Correct answer!
6. strncmp digunakan untuk mebandingkan dua buah string secara case sensitive sebanyak n karakter dengan mebandingkan karakter pertama.
#include <stdio.h>
#include <string.h>int main ()
{
char str[][5] = { “R2D2” , “C3PO” , “R2A6” };
int n;
puts (“Looking for R2 astromech droids…”);
for (n=0 ; n<3 ; n++)
if (strncmp (str[n],”R2xx”,2) == 0)
{
printf (“found %s\n”,str[n]);
}
return 0;
}
output
Looking for R2 astromech droids…
found R2D2
found R2A6
7. strchr dingunakan untuk mengembalikan sebuah pointer ke tempat sebelumnya, jika karakter tidak ditemukan, function akan mengembalikan pointer null.
#include <stdio.h>
#include <string.h>int main ()
{
char str[] = “This is a sample string”;
char * pch;
printf (“Looking for the ‘s’ character in \”%s\”…\n”,str);
pch=strchr(str,’s’);
while (pch!=NULL)
{
printf (“found at %d\n”,pch-str+1);
pch=strchr(pch+1,’s’);
}
return 0;
}
output
Looking for the ‘s’ character in “This is a sample string”…
found at 4
found at 7
found at 11
found at 18
8. strstr dingunakan untuk mengembalikan pointer ke tempat sebelumnya dari str2 di str1, atau pointer null jika str2 bukan bagian dari str1.
#include <stdio.h>
#include <string.h>int main ()
{
char str[] =”This is a simple string”;
char * pch;
pch = strstr (str,”simple”);
strncpy (pch,”sample”,6);
puts (str);
return 0;
}
output
This is a sample string
Ditulis oleh:
- Farhan Taris (12110110098)
- Wirya Gustinus (12110110103)
