Computer >> Máy Tính >  >> Lập trình >> lập trình C

Loại trả về getchar (), fgetc () và getc () trong C


Thông tin chi tiết về các hàm getchar (), fgetc () và getc () trong lập trình C được đưa ra như sau -

Hàm getchar ()

Hàm getchar () lấy một ký tự từ stdin. Nó trả về ký tự đã được đọc ở dạng số nguyên hoặc EOF nếu xảy ra lỗi.

Một chương trình chứng minh điều này như sau -

Ví dụ

#include <stdio.h>

int main (){
   int i;

   printf("Enter a character: ");
   i = getchar();

   printf("\nThe character entered is: ");
   putchar(i);

   return(0);
}

Đầu ra

Kết quả của chương trình trên như sau -

Enter a character: G
The character entered is: G

Bây giờ chúng ta hãy hiểu chương trình trên.

Giá trị nhận được bằng cách sử dụng hàm getchar () được lưu trữ trong i là một biến số nguyên. Sau đó, giá trị ký tự được hiển thị bằng cách sử dụng putchar (). Đoạn mã hiển thị điều này như sau -

int i;

printf("Enter a character: ");
i = getchar();

printf("\nThe character entered is: ");
putchar(i);

Hàm fgetc ()

Hàm fgetc () lấy một ký tự từ một luồng tệp là một con trỏ đến một đối tượng FILE. Hàm này trả về ký tự đã được đọc ở dạng số nguyên hoặc EOF nếu xảy ra lỗi.

Một chương trình chứng minh điều này như sau -

Ví dụ

#include <stdio.h>

int main (){
   FILE *fp;
   fp = fopen("file.txt", "w");
   fprintf(fp, "Apple");
   fclose(fp);

   int i;

   fp = fopen("file.txt","r");
   
   if(fp == NULL){
      perror("Error in opening file");
      return(-1);
   }

   while((i=fgetc(fp))!=EOF){
      printf("%c",i);
   }

   fclose(fp);
   return(0);
}

Đầu ra

Kết quả của chương trình trên như sau -

Apple

Bây giờ chúng ta hãy hiểu chương trình trên.

Đầu tiên, tệp được tạo và dữ liệu "Apple" được lưu trữ bên trong nó. Sau đó, tệp được đóng. Đoạn mã hiển thị điều này như sau -

FILE *fp;
fp = fopen("file.txt", "w");
fprintf(fp, "Apple");
fclose(fp);

Tệp được mở lại ở chế độ đọc. Nếu fp là NULL thì thông báo lỗi sẽ hiển thị. Nếu không, nội dung của tệp được hiển thị bằng cách sử dụng hàm fgetc (). Đoạn mã hiển thị điều này như sau -

fp = fopen("file.txt","r");

if(fp == NULL){
   perror("Error in opening file");
   return(-1);
}

while((i=fgetc(fp))!=EOF){
   printf("%c",i);
}

fclose(fp);

Hàm getc ()

Hàm getc () lấy một ký tự từ luồng được chỉ định. Nó trả về ký tự đã được đọc ở dạng số nguyên hoặc EOF nếu xảy ra lỗi.

Một chương trình chứng minh điều này như sau -

Ví dụ

#include <stdio.h>

int main (){
   int i;

   printf("Enter a character: ");
   i = getc(stdin);

   printf("\nThe character entered is: ");
   putchar(i);

   return(0);
}

Đầu ra

Kết quả của chương trình trên như sau -

Enter a character: K
The character entered is: K

Bây giờ chúng ta hãy hiểu chương trình trên.

Hàm getc () lấy một ký tự từ dòng stdin như đã chỉ định. Giá trị này được lưu trữ trong biến int i. Sau đó, giá trị ký tự được hiển thị bằng cách sử dụng putchar (). Đoạn mã hiển thị điều này như sau -

int i;

printf("Enter a character: ");
i = getc(stdin);

printf("\nThe character entered is: ");
putchar(i);