Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

fgets() และ gets() ใน C


fgets()

ฟังก์ชัน fgets() ใช้สำหรับอ่านสตริงจนถึงอักขระขึ้นบรรทัดใหม่ มันตรวจสอบอาเรย์ที่ถูกผูกไว้และปลอดภัยด้วย

นี่คือไวยากรณ์ของ fgets() ในภาษา C

char *fgets(char *string, int value, FILE *stream)

ที่นี่

สตริง − นี่คือตัวชี้ไปยังอาร์เรย์ของอักขระ

คุณค่า − จำนวนตัวอักษรที่จะอ่าน

สตรีม − นี่คือตัวชี้ไปยังวัตถุไฟล์

นี่คือตัวอย่าง fgets() ในภาษา C

ตัวอย่าง

#include <stdio.h>
#define FUNC 8
int main() {
   char b[FUNC];
   fgets(b, FUNC, stdin);
   printf("The string is: %s\n", b);
   return 0;
}

ผลลัพธ์

สตริงอินพุตคือ "Hello World!" ในสตรีม stdin

The string is: Hello W

ในโปรแกรมข้างต้น อาร์เรย์ของประเภทถ่านจะถูกประกาศ ฟังก์ชัน fgets() อ่านอักขระจนถึงตัวเลขที่กำหนดจากสตรีม STDIN

char b[FUNC];
fgets(b, FUNC, stdin);

ได้()

ฟังก์ชัน gets() ใช้เพื่ออ่านสตริงจากอุปกรณ์อินพุตมาตรฐาน มันไม่ตรวจสอบอาเรย์ที่ถูกผูกไว้และไม่ปลอดภัยเช่นกัน

นี่คือไวยากรณ์ของ gets() ในภาษา C

char *gets(char *string);

ที่นี่

สตริง − นี่คือตัวชี้ไปยังอาร์เรย์ของอักขระ

นี่คือตัวอย่าง get() ในภาษา C

ตัวอย่าง

#include <stdio.h>
#include <string.h>
int main() {
   char s[100];
   int i;
   printf("\nEnter a string : ");
   gets(s);
   for (i = 0; s[i]!='\0'; i++) {
      if(s[i] >= 'a' && s[i] <= 'z') {
         s[i] = s[i] - 32;
      }
   }
   printf("\nString in Upper Case = %s", s);
   return 0;
}

ผลลัพธ์

Enter a string : hello world!
String in Upper Case = HELLO WORLD!

ในโปรแกรมข้างต้น สตริง s ของอาร์เรย์ถ่านจะถูกแปลงเป็นสตริงตัวพิมพ์ใหญ่ ฟังก์ชัน gets() ใช้เพื่ออ่านสตริงจากสตรีม stdin

char s[100];
int i;
printf("\nEnter a string : ");
gets(s);