แถวอักขระ (string) ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ข้อมูลแบบสายอักขระ (string) เป็นข้อมูลแบบแถวลำดับของตัวอักขระ จะมีความแตกต่างจากข้อมูลพื้นฐานแบบอื่นๆ เช่น จำนวนเต็ม ทศนิยม หรือ ตัวอักขระ การใช้งานจะต้องเรียกใช้คลังคำสั่ง (library) ที่ชื่อ string โดยจะต้องเรียกใช้ในส่วนบนของโปรแกรมดังนี้ #include <string.h> หลังจากเรียกใช้คลังคำสั่ง string แล้วเราสามารถใช้ฟังก์ชันต่างๆที่อยู่ในคลังคำสั่งดังนี้
strcat() เป็นฟังก์ชันที่ใช้ในการเชื่อมต่อข้อความมีรูปแบบการใช้ดังนี้ strcat(str1,str2); โดยจะนำเอาข้อความใน str2 ไปต่อท้ายข้อความ str1 เพราะฉะนั้น str1 จะต้องมีพื้นที่ในการเก็บข้อมูลเพียงพอที่จะเก็บข้อความของ str2 ด้วย
ตัวอย่างที่ 12.1 การใช้ฟังก์ชัน strcat() #include <stdio.h> #include <string.h> main() { char str1[20] = “Pluakdaeng”; char str2 = “pittayakom”; strcat(str1,str2); printf(“%s \n”,str1); getchar(); }
ผลการทำงาน Pluakdaengpittayakom
strcmp() เป็นฟังก์ชันที่ใช้ในการเปรียบเทียบข้อความแล้วส่งค่ากลับเป็นจำนวนเต็ม โดยมีรูปแบบดังนี้ strcmp(str1,str2) โดยจะส่งค่ากลับตามเงื่อนไขต่อไปนี้ ผลการเปรียบเทียบ ค่าที่ส่งกลับ str1 < str2 จำนวนเต็มลบ str1 = str2 ศูนย์ str1 > str2 จำนวนเต็มบวก ลักษณะการเปรียบเทียบของฟังก์ชัน strcmp จะทำการเปรียบเทียบทีละตัวเริ่มตั้งแต่ตัวแรกตามรหัส ascii ถ้าตัวแรกมีค่าเท่ากันก็จะเปรียบเทียบตัวถัดไป
ตัวอย่างที่ 12.2 การใช้ฟังก์ชัน strcmp() char str1[] = “name2”; int result1 = strcmp(“name1”,str1); int result2 = strcmp(str1,str1); int result3 = strcmp(“name3”,str1); printf(“%d\t”,str1); printf(“%d\t”,str2); printf(“%d\t”,str3);
ผลการทำงาน -1 0 1
strcpy() ฟังก์ชัน strcpy() ใช้ในการคัดลอกข้อความจากปลายทางไปไว้ที่ต้นทาง โดยมีรูปแบบดังนี้ strcpy(ปลายทาง,ต้นทาง); โดยโปรแกรมจะทำการคัดลอกข้อความจากต้นทางไปไว้ที่ปลายทาง
ตัวอย่างที่ 12.3 การใช้ฟังก์ชัน strcpy() char str1[20]; strcpy(str1, “Happy Birthday”); printf(“%s”,str1);
ผลการทำงาน Happy Birthday
strlen() ฟังก์ชัน strlen() ใช้ในการนับจำนวนตัวอักขระในสายอักขระนั้นๆ (ไม่รวม \0) โดยมีรูปแบบดังนี้ strlen(str1);
ตัวอย่าง 12.3 การใช้ฟังก์ชัน strlen() char str1[] = “Computer 40202”; printf(“%d\n”, strlen(str1)); printf(“%d\n”,strlen(“C Programming”));
ผลการทำงาน 14 13