ข้อมูลชนิดสตริง string บทที่ 8
DESCRIPTION
ข้อมูลชนิดสตริง String บทที่ 8. ใช้สำหรับ Turbo C++ Version 3. สตริงในภาษาซี. - PowerPoint PPT PresentationTRANSCRIPT
ข้�อมู�ลชนิดสตริงStringบทท�� 8
ใช�ส��หริ�บ ใช�ส��หริ�บ Turbo C++ Turbo C++ Version 3Version 3
สตริงในิภ�ษ�ซี�
สตริ�ง (String) เป็นลั�กษณะของข�อมู�ลัที่��มูาจากกลั��มูของต�วอ�กษริ
หริ�อเป็น Array of Character น ามูาใช้�ในการิเก#บข�อมู�ลัป็ริะเภที่ ช้��อ,นามูสก�ลั , ที่��อยู่�� หริ�อเบอริ'
โที่ริศั�พที่' ในภาษาซี�ไมู�มู�โคริงสริ�างของต�วแป็ริช้น�ดน�0มูาให�เป็นมูาตริฐาน ซี2�งเริาจะต�องป็ริะยู่�กต'สริ�างโคริงสริ�าง
ของต�วแป็ริเอง
ก�ริสริ��งต�วแปริแบบสตริงสตริ�งก#ค�อกลั��มูของต�วอ�กขริะ เพริาะ
ฉะน�0นถ้�าเริาน าเอาริ�ป็แบบของแอเริยู่' มูาผนวกก�บต�วอ�กษริ เริาก#จะได�กลั��มูของต�วอ�กษริ เริ�ยู่กว�า Array of Character น��นเอง ด�งต�วอยู่�าง
char Road[100]; char Amphor[50]; char *string_pointer;
ก�ริก��หนิดค่!� ให�ก�บต�วแปริแบบสตริงchar FirstName[15] = {'M', 'r', '.', ' ', 'S', 'o', 'm',
'c', 'h', 'a', 'i', '\0'};char Location[] = { 'R', 'a', 'j', 'a', 'm', 'a', 'n', 'g',
'a', 'l', 'a', ' ', 'U', 'n', 'i', 'v', 'e', 's', 'i', 't', 'y', ' ',
'o', 'f', ' ', 'T', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y',
'\0' } ;char PhoneNo[] = {'0', '2', '8', '1', '8', '8', '2', '1',
'6', '-', '9', '\0' } ;char Address[] = "RMUTT Klong6 Pathumthani" ;
ก�ริก�ริริ�บ และแสดงผลข้�อมู�ลchar Road[100];printf("Please enter the road name : ");gets(Road);printf("String data is %s" , Road );
ริ�บข�อมู�ลัแสดงข�อมู�ลั
ต�วอย่!�ง โปริแกริมูเก'บข้�อมู�ลสตริงเข้��ไปไว�ในิ ต�วแปริ และแสดงผลล�พธ์+
#include <stdio.h>#include <conio.h>void main (void){ char str[80]; printf("Enter a
string : "); gets(str); printf("You enter
is : %s",str); getch();}
Enter a string : Enter a string : Apple Mango Apple Mango OrangeOrange
You enter is : You enter is : Apple Mango Apple Mango OrangeOrange
ต�วอย่!�ง ก�ริริ�บข้�อมู�ลท��เป,นิสตริง และพมูพ+ข้�อมู�ลในิสตริงออกมู�ท�ละเซีลล+ #include <stdio.h>#include <conio.h>void main (void){ char str[80]; int i; printf("Enter a string (less than 80 chars) : "); gets(str); for (i=0;str[i];i++) printf("str[%d] = %c\n" , i, str[i]); getch();} Enter a string (less than 80 chars) : Enter a string (less than 80 chars) : I'm free.I'm free.
str[0] = str[0] = II
str[1] = str[1] = ''
str[2] = str[2] = mm
str[3] = str[3] =
str[4] = str[4] = ff
str[5] = str[5] = rr
str[6] = str[6] = ee
str[7] = str[7] = ee
str[8] = str[8] = ..
ก�ริส!งผ!�นิค่!�สตริงริะหว!�งฟั.งก+ช�นิ
การิส�งผ�านค�าสตริ�งในฝั่7� งของฟั7งก'ช้�นที่��ถ้�กเริ�ยู่กใช้�งาน พาริามู�เตอริ'ของฟั7งก'ช้�น จะไมู�ริะบ�ขนาดของแอเริยู่' เน��องจากไมู�สามูาริถ้ที่ริาบได�
แน�นอนว�ามู�ขนาดเที่�าใด ด�งต�วอยู่�าง
ต�วอย่!�ง ก�ริส!งผ!�นิค่!�สตริงริะหว!�งฟั.งก+ช�นิ#include <stdio.h>#include <conio.h>void function1(char [] );void main (void){ char string[20]; printf(“What is your
name => "); gets(string); function1(string); getch();}void function1(char
name[]){ printf("Hello there
%s!" , name ); }
What is your name => What is your name => Somchai JingjingSomchai Jingjing
Hello there Hello there Somchai JingjingSomchai Jingjing!!
ต�วอย่!�งนิ�/ค่!�ข้องสตริงถู�กริะบ1ในิฟั.งก+ช�นิ #include <stdio.h>void function2(char [] );void main (void){ char string[20; function2(string); printf("Hello there %s!\n" ,
string); getch();}void function2(char name[]){ printf("Enter your first
name => "); gets(name); }
Enter your first name => Enter your first name => RooneyRooney
Hello there Hello there RooneyRooney!!
ฟั.งก+ช�นิท��ใช�ง�นิก�บข้�อมู�ลแบบสตริง
ฟั7งก'ช้�นที่��ที่ างานก�บข�อมู�ลัแบบสตริ�งมู�อยู่��มูากมูายู่เช้�น การิค�ดลัอก การิเป็ริ�ยู่บเที่�ยู่บ การิที่ าให�เป็นต�วอ�กษริเลั#ก หริ�อใหญ่� ต�างๆ ซี2�งอยู่��ใน “string.h” ก�อนน าฟั7งก'ช้�นมูาใช้�งาน ต�องมู�การิก าหนดไว�ใน include directive
ก�อนเสมูอค�อ#include <string.h>void main() {
Statement…Statement
}
ต�วอย่!�ง ฟั.งก+ช�นิท��ใช�ง�นิก�บข้�อมู�ลแบบสตริง
char *strcpy(char *str1, const char *str2)
ส��เนิ�สตริงจ�ก str2 ไปย่�ง str1
char *strcat(char *str1, const char *str2)
ส��เนิ�สตริงจ�ก str2 ไปต!อท��ย่ สตริง str1
char *strchr(const char * str,int ch)
ค่�นิห�ต��แหนิ!งต�วอ�กษริท��อ ย่�!ในิสตริงstr
และได�ข้�อมู�ลต�/งแต!ต��แหนิ!งท��พบไปท�/งหมูด
int strcmp(const char *str1, const char *str2)
นิ��ค่!�ข้อง str1 และ str2 มู�เปริ�ย่บเท�ย่บก�นิ ถู�� str1 < str2 จะค่3นิค่!� < 0 ถู�� str1 = str2 จะค่3นิค่!� = 0 ถู�� str1 > str2 จะค่3นิค่!� > 0
char *strlwr(char *str) แปลงอ�กข้ริะในิสตริงท1กต�ว ให�เป,นิต�วเล'ก
char *strupr(char *str) แปลงอ�กข้ริะในิสตริงท1กต�ว ให�เป,นิต�วใหญ่!
char *strstr(cont char *str1, const char *str2)
ค่�นิห�ต��แหนิ!งข้องสตริง str2 ในิstr1
และได�ข้�อมู�ลต�/งแต!ต��แหนิ!งท��พบไปท�/งหมูด
ต�วอย่!�ง ก�ริใช�ง�นิฟั.งก+ช�นิ#include <stdio.h>#include <string.h>void main (void){ char str1[30]="Superman!! Help me!!"; char str2[30]="Help"; char str3[30]=""; printf("STRSTR : %s\n" ,
strstr(str1,str2)); printf("STRCHR : %s\n" ,
strchr(str1,'H')); printf("STRCPY : %s\n" ,
strcpy(str3,str2)); printf("STRCMP : %d\n" ,
strcmp(str3,str2)); printf("STRCAT : %s\n" ,
strcat(str1,str2)); printf("STRUPR : %s\n" , strupr(str1)); printf("STRLWR : %s\n" , strlwr(str1)); getch();}
STRSTR : STRSTR : Help me!!Help me!!
STRCHR : STRCHR : Help me!!Help me!!
STRCPY : STRCPY : HelpHelp
STRCMP : STRCMP : 00
STRCAT : STRCAT : Superman!! Help Superman!! Help me!!Helpme!!Help
STRUPR : STRUPR : SUPERMAN!! HELP SUPERMAN!! HELP ME!!HELPME!!HELP
STRLWR : STRLWR : superman!! help superman!! help me!!helpme!!help
The The End.End.