<< Go Back

           ในการเขียนโปรแกรมต้องมีการใช้งานข้อมูล ข้อมูลต่างๆ เหล่านี้จะมีการนำไปแสดงผลและรับเข้ามาโดยผ่านอุปกรณ์อินพุตและเอ้าท์พุต เนื่องจากข้อมูลมีหลายรูปแบบตามชนิดที่มีให้ใช้ในภาษาซี ผู้เขียนโปรแกรมจึงต้องทราบวิธีการที่จะนำมาแสดงผลและรับค่าข้อมูลได้ถูกต้องตรงตามความต้องการ

การรับและแสดงผลข้อมูล (เฮดเดอร์ไฟล์ stdio.h)

           ฟังก์ชันที่ใช้รับและแสดงผลข้อมูล ที่ประกาศไว้ในเฮดเดอร์ไฟล์ stdio.h ประกอบด้วย 6 ฟังก์ชัน ด้วยกันคือ getchar( ), putchar( ), scanf( ), printf( ), gets( ) และ puts( )

ความหมายของการแสดงผล
           การแสดงผล หมายถึง การสั่งให้คอมพิวเตอร์นำข้อมูล และผลลัพธ์ที่มีอยู่ในหน่วยความจำไปแสดงผลออกที่อุปกรณ์แสดงผล (Output Device) ของคอมพิวเตอร์ การแสดงผลที่อุปกรณ์แสดงผลอาจมีเพียงอุปกรณ์เดียว หรือหลาย ๆ อุปกรณ์พร้อมกันได้ เช่น แสดงผลที่จอภาพ เครื่องพิมพ์ ลำโพง แผ่นดิสก์
           แสดงผลออกทางหน้าจอ เป็นการทำงานพื้นฐานหรือเรียกได้ว่าเป็นส่วนหนึ่งในการทำงานของทุกโปรแกรม คือ การแสดงผลข้อมูลออกทางจอภาพ โดยในภาษาซีนั้นการแสดงผลข้อมูลออกทางจอภาพใช้คำสั่งดังนี้

           ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ คือ printf() ซึ่งเป็นฟังก์ชันที่อยู่ในไฟล์ stdio.h การเรียกใช้ฟังก์ชันนี้จะต้องทำการประมวลผลด้วยการสั่ง #include <stdio.h> ก่อนเสมอ ฟังก์ชัน printf มีหน้าที่หลักคือ แปลงข้อมูลในลักษณะของเลขฐานสอง (binary) ที่คอมพิวเตอร์ประมวลผลได้ ให้อยู่ในรูปแบบที่มนุษย์เข้าใจ ก่อนแสดงผลข้อมูลออกทางจอภาพ สามารถแสดงผลข้อมูลได้ทุกชนิดไม่ว่าจะเป็นจำนวนเต็ม (int) ทศนิยม (float) ข้อความ (string) หรืออักขระ (char) มีรูปแบบการเขียนฟังก์ชัน printf() ดังนี้

printf (format control, argument list);

           โดยที่ :
                        format control คือ จะต้องเขียนอยู่ภายใต้เครื่องหมาย Double Quote “………” เป็นข้อความที่ต้องการแสดงผลออกทางหน้าจอ ซึ่งเป็นได้ทั้งข้อความธรรมดา ค่ารหัสรูปแบบข้อมูล และรหัสควบคุม
                       argument list คือ ค่าคงที่ ตัวแปร หรือนิพจน์ ในกรณีที่มีค่าคงที่ ตัวแปร หรือนิพจน์หลายๆ ค่าให้ใช้เครื่องหมาย , (comma) คั่นระหว่างค่าคงที่ ตัวแปร หรือนิพจน์แต่ละค่า

 ตัวอย่าง การใช้งานฟังก์ชัน printf()
                     printf("Hello Program C");
                     printf("Do more [y/n]\n");
                     printf("%s","Hello....c");
                     printf("%s",TEXT);
                     printf ("1+1=%d",2);
                     printf("\n\n\007");

รหัสรูปแบบข้อมูล
           รหัสรูปแบบข้อมูล ใช้สำหรับการควบคุมการแสดงผลตัวแปร หรือนิพจน์ออกทางหน้าจอ โดยรหัสรูปแบบข้อมูลมีหลายชนิดด้วยกัน การนำไปใช้จะต้องพิจารณาให้เหมาะสมกับค่าของข้อมูลที่จะแสดงผล

สำหรับรหัสรูปแบบข้อมูลที่สามารถนำมาใช้กับฟังก์ชัน print() แสดงได้ดังนี้

รหัสรูปแบบข้อมูล ชนิดข้อมูลที่พิมพ์
%c   ตัวอักขระหนึ่งตัว (char)
%d   เลขจำนวนเต็ม (int)
%ld   เลขจำนวนเต็มแบบยาว (long)
%e   ใช้กับข้อมูลชนิดตัวเลขจุดทศนิยม  (float)
%f   เลขจำนวนจริง (float)
%g   เลขจำนวนจริง (float)
%h   เลขจำนวนเต็มแบบสั้น (short integer)
%i   เลขจำนวนเต็ม (int)
%o   เลขฐานแปด
%s   ข้อความสตริง
%u   เลขจำนวนเต็ม ไม่มีเครื่องหมาย
%x  เลขฐานสิบหก

ตาราง รหัสรูปแบบข้อมูลของฟังก์ชัน printf() ซึ่งต้องสอดคล้องกับชนิดข้อมูลที่สั่งพิมพ์

      นอกจากนี้ภายใน รหัสรูปแบบข้อมูลของฟังก์ชัน ยังสามารถใส่รหัสควบคุม (Escape Sequence) เข้าไปได้อีก ซึ่งรหัสควบคุมเหล่านี้จัดเป็นส่วนหนึ่งของคำสั่งควบคุมการแสดงผล ด้วยการใช้เครื่องหมาย \ (backslash) และตามด้วยรหัสควบคุม

รหัสควบคุมข้อมูล ความหมาย
\0   ค่าว่าง (null)
\a   ส่งเสียงปิ๊ป 1 ครั้ง
\b   ถอยหลังหนึ่งตัวอักษร (back space)
\f   ขึ้นหน้าใหม่ (form feed)
\n   ขึ้นบรรทัดใหม่ (new line)
\r   ย้ายเคอร์เซอร์กลับไปที่ต้นบรรทัด
\t   แท็บแนวนอน (horizontal tab)
\v   แท็บแนวตั้ง (vertical tab)
\'   พิมพ์เครื่องหมาย '
\"   พิมพ์เครื่องหมาย "
\\   พิมพ์เครื่องหมาย \

ตาราง แสดงรหัสควบคุมข้อมูล

ตัวอย่าง การใช้คำสั่ง printf() แสดงผลข้อความธรรมดาออกทางหน้าจอ

                

         หน้าจอแสดงผลลัพธ์ :
                

         อธิบายโปรแกรม
         ฟังก์ชั่น printf() ในข้อนี้มีการใช้ string format ในรูปแบบข้อความธรรมดาผสมกับรหัสรูปแบบข้อมูล และเมื่อมีรหัสรูปแบบข้อมูลแล้ว จะต้องมีการรับค่าพารามิเตอร์อีกตัวหนึ่ง สำหรับเป็นข้อมูลที่จะนำมาแทนที่ลงในตัวแทนชนิดข้อมูลนั้น จากตัวอย่าง argument list คือค่าคงที่

   ตัวอย่าง การใช้คำสั่ง printf() แสดงผลข้อความธรรมดาออกทางหน้าจอ

                  

   คำอธิบายโปรแกรม :

บรรทัดที่ 1 นำเฮดเดอร์ไฟล์ชื่อ stdio.h เข้ามาร่วมในการแปลผล เมื่อมีการใช้งานฟังก์ชัน printf()
บรรทัดที่ 2 ฟังก์ชัน main() ซึ่งเป็นฟังก์ชันหลักของโปรแกรม การทำงานจะเริ่มต้นที่ฟังก์ชันนี้
บรรทัดที่ 5,6 สร้างตัวแปรชนิดจำนวนเต็ม x และ y ให้มีค่า 10 และ 5 ตามลำดับ
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน printf() ซึ่งเป็นฟังก์ชันมาตรฐานของภาษาซีที่ทำหน้าที่แสดงผลข้อมูลออกทางจอภาพ ในตัวอย่างจะแสดงข้อความ Hello World แล้วขึ้นบรรทัดใหม่ด้วย รหัสควบคุม \n
บรรทัดที่ 8 เรียกใช้ฟังก์ชัน printf() แสดงผลข้อความ Variable Value = 10 ออกทางจอภาพ โดยแสดงค่าตัวแปร x แทนที่ตำแหน่งของ %d ซึ่ง x มีค่าเท่ากับ 10 แล้วขึ้นบรรทัดใหม่เพราะใช้รหัสควบคุม \n
บรรทัดที่ 9 เว้นช่องว่างเป็นระยะ 1 แท็บ เมื่อเจอรหัสควบคุม \t เรียกใช้ฟังก์ชัน printf() แสดงผลข้อความ Value x+y = 15 ออกทางจอภาพ โดยแสดงผลลัพธ์ของนิพจน์ x+y (10+5) ซึ่งก็คือ 15 แทนที่ตำแหน่งของ %d แล้วขึ้นบรรทัดใหม่เพราะใช้รหัสควบคุม \n
บรรทัดที่ 10 เรียกใช้ฟังก์ชัน printf() แสดงผลข้อความ Value x-y = 5 ออกทางจอภาพ โดยแสดงผลลัพธ์ของนิพจน์ x-y (10-5) ซึ่งก็คือ 5 แทนที่ตำแหน่งของ %d แล้วขึ้นบรรทัดใหม่เพราะใช้รหัสควบคุม \n
บรรทัดที่ 11 เรียกใช้ฟังก์ชัน printf() แสดงผลข้อความ Value x*y = 50 ออกทางจอภาพ โดยแสดงผลลัพธ์ของนิพจน์ x*y (10*5) ก็คือ 50 แทนที่ตำแหน่งของ %d แล้วขึ้นบรรทัดใหม่เพราะใช้รหัสควบคุม \n
บรรทัดที่ 12 เรียกใช้ฟังก์ชัน printf() แสดงผลข้อความ Value x/y = 2 ออกทางจอภาพ โดยแสดงผลลัพธ์ของนิพจน์ x/y (10/5) ก็คือ 2 แทนที่ตำแหน่งของ %d แล้วขึ้นบรรทัดใหม่เพราะใช้รหัสควบคุม \n

การควบคุมขนาดพื้นที่แสดงผล

        ตามปกติในการแสดงผลโปรแกรมจะเตรียมพื้นที่ให้พอดีกับข้อความ เช่น ถ้าจะแสดงข้อความ HELLO ซึ่งมี 5 ตัวอักษร โปรแกรมจะจัดเตรียมพื้นที่ไว้ให้พอดีสำหรับ 5 ตัวอักษร ดังแสดงรูปต่อไปนี้

        สามารถเพิ่มพื้นที่ในการแสดงผลได้ตามต้องการ เช่น กำหนดให้แสดงข้อความ HELLO ในพื้นที่ขนาด 8 ตัวอักษร โปรแกรมจะแสดงข้อความชิดด้านขวาของพื้นที่ที่จองไว้ โดยจะเว้นพื้นที่ว่างทางด้านซ้ายอีก 3 ช่องที่เหลือเอาไว้ ดังรูป

        วิธีกำหนดขนาดพื้นที่การแสดงผล ให้ใส่ตัวเลขขนาดของพื้นที่ที่ต้องการไว้หลังเครื่องหมาย % ในรหัสรูปแบบข้อมูล ดังแสดงตัวอย่างต่อไปนี้

ตัวอย่าง การจัดขนาดพื้นที่การแสดงผล ด้วยฟังก์ชั่น printf() ในลักษณะต่างๆ

           ผลลัพธ์ของโปรแกรม

           

                ฟังก์ชั่น scanf () เป็นฟังก์ชันการรับข้อมูลจากคีย์บอร์ดมาแสดงบนหน้าจอ โดยข้อมูลที่รับเข้ามา สามารถเป็นตัวแปรชนิดตัวเลข ตัวอักขระหนึ่งตัว หรือข้อความสตริงได้ มีรูปแบบดังนี้

scanf(format control, &argument list);

                โดยที่
               format control คือ การใช้รหัสรูปแบบข้อมูล เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสรูปแบบข้อมูล จะใช้ชุดเดียวกับรหัสรูปแบบข้อมูลของคำสั่ง printf()
               argument list คือ ตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด โดยชนิดของตัวแปรจะต้องสอดคล้องกับรหัสรูปแบบข้อมูลที่กำหนดไว้ นอกจากนี้หน้าชื่อของตัวแปรจะต้องนำหน้าด้วยเครื่องหมาย & ยกเว้นตัวแปรสตริงสำหรับเก็บข้อความเท่านั้นที่ไม่ต้องนำหน้าด้วยเครื่องหมาย &
               จำเป็นต้องจับคู่ระหว่างรหัสรูปแบบข้อมูล กับชนิดข้อมูลให้ถูกต้อง เช่น %d ใช้กับตัวแปรชนิด int

    ตัวอย่าง การใช้คำสั่ง scanf() เพื่อรับค่าข้อมูล

                         

            ผลลัพธ์ของโปรแกรม

                        

              ฟังก์ชั่น scanf() เมื่ออ่านพบช่องว่างจะตัดข้อความนั้นออก

อธิบายโปรแกรม

ประกาศตัวแปร age(อายุ) ให้มีชนิดข้อมูลเป็นจำนวนเต็ม(int)
ใช้ฟังก์ชัน printf() แสดงข้อความ Enter your age :
ใช้ฟังก์ชัน scanf() รับค่า age จากแป้นพิมพ์ ใส่ & นำหน้าตัวแปร (พิมพ์เสร็จแล้วกด Enter)
         ใช้รหัสรูปแบบ %d แสดงว่าข้อมูลที่รับเข้ามาเป็นเลขจำนวนเต็ม ซึ่งจะถูกเก็บไว้ที่ตัวแปร age
ใช้ฟังก์ชัน printf() แสดงข้อความ Enter your age : และค่าอายุที่รับเข้ามา
          โดยแสดงค่าตัวแปร age แทนที่ตำแหน่งของ %d (รหัสรูปแบบข้อมูลแบบเลขจำนวนเต็ม)

ประกาศตัวแปร name(ชื่อ) ให้มีชนิดข้อมูลแบบตัวอักษร กำหนดขนาดไม่เกิน 50 ตัวอักษร
ใช้ฟังก์ชัน printf() แสดงข้อความ Enter your name :
ใช้ฟังก์ชัน scanf() รับค่า name จากแป้นพิมพ์ สตริงไม่ต้องใส่ & นำหน้าตัวแปร
ใช้ฟังก์ชัน printf() แสดงข้อความ your name : และค่าชื่อที่รับเข้ามา
         โดยแสดงค่าตัวแปร name แทนที่ตำแหน่งของ %s (รหัสรูปแบบข้อมูลแบบข้อความสตริง)

ประกาศตัวแปร x , y , sum ให้มีชนิดข้อมูลเป็นจำนวนเต็ม (int)
ใช้ฟังก์ชัน printf() แสดงข้อความ Enter The Length is : และ Enter The Length is :
ใช้ฟังก์ชัน scanf() รับค่าตัวแปร x , y จากแป้นพิมพ์ ใส่ & นำหน้าตัวแปร
ใช้ฟังก์ชัน printf() แสดงข้อความ Enter The Length is : และ Enter The Length is : และค่าที่รับเข้ามา
ประกาศใช้ตัวแปร sum เพื่อเก็บค่าผลรวมของนิพจน์ x*y
ใช้ฟังก์ชัน printf() แสดงข้อความ The area is: และค่า sum ซึ่งได้จากผลรวมของนิพจน์ x*y
โดยแสดงค่าตัวแปร x , y , sum แทนที่ตำแหน่งของ %d (รหัสรูปแบบข้อมูลแบบเลขจำนวนเต็ม)

การรับและแสดงผลข้อมูลแบบตัวอักษร(อักขระ)

     การรับและการแสดงผลข้อมูลแบบตัวอักษร นอกจากจะใช้ฟังก์ชั่น scanf() และ printf() แล้ว ยังมีฟังก์ชั่นเฉพาะในการรับข้อมูลแบบตัวอักษร คือ getchar() และแสดงผลข้อมูลแบบตัวอักษร คือ putchar()

          getchar() คือฟังก์ชั่นสำหรับรับข้อมูลผ่านทางแป้นพิมพ์ โดยจะรับตัวอักษร 1 ตัวเท่านั้น

          รูปแบบการใช้งานฟังก์ชัน

getchar( ); หรือ char_variable = getchar( );

          getchar( ) คือ ฟังก์ชันที่ใช้รับข้อมูลเพียง 1 ตัวอักขระจากคีย์บอร์ด โดยฟังก์ชันนี้จะไม่มี
          argument char_variable คือ ตัวแปรชนิด char ซึ่งจะเก็บข้อมูล 1 ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด

      ตัวอย่าง การใช้คำสั่ง getchar( ) เพื่อรับค่าข้อมูล

              

        ผลลัพธ์ของโปรแกรม
       เมื่อรันโปรแกรม จะเห็นข้อความ Enter a character : ปรากฏขึ้นมาพร้อมเคอร์เซอร์รอรับตัวอักษร
       เมื่อกรอกตัวอักษร แล้วกดปุ่ม Enter โปรแกรมจะทำงานต่อไป โดยโชว์อักขระที่รับมาเพียง 1 ตัว

                           

        อธิบายโปรแกรม

      บรรทัดที่ 4 สร้างตัวแปร ch เพื่อเก็บค่าอักขระ
      บรรทัดที่ 5 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ Enter a character : ออกมาทางหน้าจอ
      บรรทัดที่ 7 เรียกใช้ฟังก์ชัน getchar() เพื่อรับค่าจากคีย์บอร์ด 1 ตัวอักขระ โดยเก็บไว้ที่ตัวแปร ch
      บรรทัดที่ 8 เรียกใช้ฟังก์ชัน printf() เพื่อแสดงข้อความที่กำหนด และตัวอักษรที่รับค่าจากตัวแปร ch


             คำสั่ง putchar() เป็นคำสั่งใช้สำหรับแสดงผลอักขระ โดยเฉพาะออกทางหน้าจอ มีรูปแบบการเขียนคำสั่ง ดังนี้

putchar(ch);

            โดยที่
                 putchar( ) คือ ฟังก์ชันที่ใช้แสดงผลลัพธ์ทีละ 1 ตัวอักขระออกทางจอภาพ
                 ch คือ ตัวแปรชนิดอักขระ (char) ที่เขียนภายในเครื่องหมาย Single Quote (‘’)

   ตัวอย่าง การใช้คำสั่ง putchar() ในการแสดงผลอักขระออกทางหน้าจอ

   อธิบายโปรแกรม

      บรรทัดที่ 4 สร้างตัวแปร ch เก็บอักษร O
      บรรทัดที่ 5 เรียกใช้ฟังก์ชัน putchar() แสดงอักษร O ที่เก็บไว้ในตัวแปร first ออกมาทางหน้าจอ
      บรรทัดที่ 6 เรียกใช้ฟังก์ชัน putchar() แสดงอักษร K ออกมาทางหน้าจอ

  ตัวอย่าง การใช้คำสั่งฟังก์ชั่น putchar() และ getchar()

                  

   ผลลัพธ์ของโปรแกรม

                   

อธิบายโปรแกรม

      บรรทัดที่ 4 สร้างตัวแปร ch เพื่อเก็บค่าอักขระ
      บรรทัดที่ 5 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ Enter a character : ออกมาทางหน้าจอ
      บรรทัดที่ 6 เรียกใช้ฟังก์ชัน getchar() เพื่อรับค่าจากคีย์บอร์ด 1 ตัวอักขระ โดยเก็บไว้ที่ตัวแปร ch
      บรรทัดที่ 7 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ your character is : ออกมาทางหน้าจอ
      บรรทัดที่ 8 เรียกใช้ฟังก์ชัน putchar() แสดงอักษรที่รับจากคีย์บอร์ดด้วยฟังก์ชัน getchar()

     ฟังก์ชัน getch() เป็นอีกฟังก์ชันที่รับข้อมูลชนิดอักขระจากคีย์บอร์ดได้ครั้งละ 1 ตัวอักษรเหมือนกับฟังก์ชัน getchar() แต่การรับข้อมูลด้วยฟังก์ชัน getch() เมื่อผู้ใช้กรอกข้อมูล 1 ตัวอักษรแล้ว โปรแกรมจะทำงานต่อทันทีโดยไม่ต้องกันปุ่ม Enter เพียงแค่เราป้อนอักขระเข้ามา 1 ตัว โปรแกรมจะกลับไปทำงานต่อทันที และตัวอักขระที่เราป้อนจะไม่แสดงขึ้นมาให้เห็น โดยมีรูปแบบการเขียนฟังก์ชัน ดังนี้

getch( ); หรือ char_variable = getch( );

     โดยที่ :
     char_variable คือ ตัวแปรชนิด char ซึ่งจะเก็บข้อมูล 1 ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด
    getch( ) คือ ฟังก์ชันที่ใช้รับข้อมูลเพียง 1 ตัวอักขระจากคีย์บอร์ด โดยฟังก์ชันนี้จะไม่มี argument ดังนั้นอาจจะใช้ getch(void) แทนคำว่า getch( ) ก็ได้ แต่นิยมใช้ getch( ) มากกว่า
    ฟังก์ชั่น getch( ) ถูกประกาศไว้ในเฮดเดอร์ไฟล์ conio.h จึงต้องใส่เฮดเดอร์ไฟล์ conio.h ไว้ข้างต้น

    ตัวอย่าง การใช้คำสั่ง getch() ในการรับข้อมูลจากคีย์บอร์ด

     ผลลัพธ์ของโปรแกรม

    เมื่อรันโปรแกรม จะเห็นข้อความ Enter single a character : ปรากฏขึ้นมาพร้อมเคอร์เซอร์รอรับตัวอักษร เมื่อกรอกตัวอักษร เพียงตัวใดตัวหนึ่งเท่านั้น โปรแกรมก็จะทำงานต่อโดยไม่ต้องกด Enter

     อธิบายโปรแกรม

      บรรทัดที่ 1 นำเฮดเดอร์ไฟล์ชื่อ coino.h เมื่อมีการเรียกใช้งานฟังก์ชัน getch()
      บรรทัดที่ 5 สร้างตัวแปร ch เพื่อเก็บค่าอักขระ
      บรรทัดที่ 6 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ Enter single a character : ออกมาทางหน้าจอ
      บรรทัดที่ 7 เรียกใช้ฟังก์ชัน getch() เพื่อรับค่าจากคีย์บอร์ด 1 ตัวอักขระ โดยเก็บไว้ที่ตัวแปร ch
      บรรทัดที่ 8 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ your type a character is : ออกมาทางหน้าจอ และแสดงอักษรที่รับจากคีย์บอร์ดด้วยฟังก์ชัน getch () จากตัวแปร ch


     เป็นฟังก์ชันที่ใช้รับข้อมูลจากคีย์บอร์ดเพียง 1 ตัวอักขระ เหมือนฟังก์ชัน getch( ) แตกต่างกันตรงที่ข้อมูลที่ป้อนเข้าไป จะปรากฏให้เห็นบนจอภาพด้วย นอกนั้นมีการทำงานและลักษณะการใช้งานเหมือนฟังก์ชัน getch( ) ทุกประการ มีรูปแบบการใช้งานดังนี้ การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบตัวอักขระ1 ตัว โดยไม่ต้องกด Enter

getche( ); หรือ char_var = getche( );


การรับและแสดงผลข้อมูลแบบสตริง

     การรับและการแสดงผลข้อมูลแบบสตริง นอกจากจะใช้ฟังก์ชั่น scanf() และ printf() แล้ว ยังมีฟังก์ชั่นเฉพาะในการรับข้อมูลแบบสตริง คือ gets() และแสดงผลข้อมูลแบบสตริง คือ puts()
     ข้อมูลประเภทสตริง คือ กลุ่มข้อความ ซึ่งท้ายข้อความจะมีการผนวกค่า Null หรือรหัสควบคุม \0 ปะต่อท้ายโดยอัตโนมัติ เพื่อใช้บ่งบอกถึงจุดสิ้นสุดของข้อความนั้นๆ ทั้งนี้การจัดเก็บข้อความสตริงในภาษา C จะจัดเก็บในรูปแบบ Array สำหรับฟังก์ชัน gets( ) และ puts( ) ถือเป็นอีกทางเลือกหนึ่งของการนำไปใช้ เพื่อการรับค่าและแสดงผล แทนที่จะใช้ฟังก์ชัน scanf( ) หรือ printf( ) เท่านั้น

     นอกจากคำสั่งในการรับข้อมูลชนิดอักขระหรือตัวอักษรแล้ว การรับข้อความจากคีย์บอร์ดก็มีคำสั่งพิเศษให้เรียกใช้งานเช่นกัน ก็คือฟังก์ชั่น gets() มีรูปแบบดังนี้

gets(str);

        โดยที่ :
        gets() เป็นอีกฟังก์ชันที่รับข้อมูลเป็นข้อความจากคีย์บอร์ด ซึ่งเป็นฟังก์ชันสำหรับข้อความโดยเฉพาะ โดยมีรูปแบบการเขียนฟังก์ชัน ดังนี้
        str เป็นตัวแปรที่ใช้สำหรับเก็บข้อความ ซึ่งจะต้องสร้างเตรียมไว้ก่อนที่จะเรียกใช้งานฟังก์ชัน gets()

        ตัวอย่าง การใช้ฟังก์ชั่น gets() ในการรับข้อความจากคีย์บอร์ด

       ผลลัพธ์ของโปรแกรม

      เมื่อรันโปรแกรม จะเห็นข้อความ Enter your name : ปรากฏขึ้นมาพร้อมเคอร์เซอร์รอรับข้อความ
      เมื่อผู้ใช้พิมพ์ข้อความ และกด <Enter> โปรแกรมก็จะทำงานโดยแสดงผลที่หน้าจอ
      ฟังก์ชั่น gets() สามารถรับค่าที่เป็นช่องว่างได้ (space) โดยรับไปจนกว่าจะกด <Enter>

     อธิบายโปรแกรม

      บรรทัดที่ 4 สร้างตัวแปรชนิด char ชื่อ name[20] เพื่อเก็บชนิดข้อความ ความยาว 20 ตัวอักษร
      บรรทัดที่ 5 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ Enter your name : ออกมาทางหน้าจอ
      บรรทัดที่ 6 เรียกฟังก์ชัน gets() เพื่อรับข้อความและเก็บไว้ที่ตัวแปร name โดยพิมพ์ข้อความและจะต้องกดปุ่ม Enter
      บรรทัดที่ 7 เรียกใช้ฟังก์ชัน printf() เพื่อแสดงข้อความ Your name is : และข้อความที่รับค่าจากตัวแปร name

      คำสั่ง puts() มาจากคำว่า puts string เป็นฟังก์ชั่นสำหรับแสดงข้อความสตริงออกทางหน้าจอ หลักการใช้งานคือส่งค่าที่อยู่ (address) ของสตริงเข้ามาที่ฟังก์ชั่น puts() โดยมีรูปแบบการเขียนคำสั่ง ดังนี้

puts(str);

      โดยที่ str เป็นตัวแปรที่เก็บข้อมูลชนิดข้อความ (string) ที่เขียนภายในเครื่องหมาย Double Quote (“ ”)

      ตัวอย่าง การแสดงผลโดยใช้ฟังก์ชั่น gets() และ puts()

   ผลลัพธ์ของโปรแกรม

    อธิบายโปรแกรม

      บรรทัดที่ 4 สร้างตัวแปร message เก็บข้อมูลชนิดข้อความ(char) Welcome to C Language
      บรรทัดที่ 5 เรียกใช้ฟังก์ชัน puts() แสดงข้อความที่เก็บไว้ในตัวแปร message ออกมาทางหน้าจอหลังจากแสดงข้อความแล้วจะขึ้นบรรทัดใหม่ให้ด้วย
      บรรทัดที่ 6 เรียกใช้ฟังก์ชัน puts() แสดงข้อความ What your name? ออกมาทางหน้าจอบรรทัดใหม่เพราะมีการใช้ \n
      บรรทัดที่ 7 ประกาศตัวแปรชนิด char ชื่อ name[20] เพื่อเก็บชนิดข้อความ ความยาว 20 ตัวอักษร
      บรรทัดที่ 8 เรียกใช้ฟังก์ชัน printf() แสดงข้อความ Enter your name? ออกมาทางหน้าจอ
      บรรทัดที่ 9 เรียกใช้ฟังก์ชัน gets() เพื่อรับข้อความและเก็บไว้ที่ตัวแปร name พิมพ์ข้อความและจะต้องกดปุ่ม Enter
      บรรทัดที่ 10 เรียกใช้ฟังก์ชัน puts() แสดงข้อความที่เก็บไว้ในตัวแปร name ออกมาทางหน้าจอ

<< Go Back