Hàm fscanf() trong C

Hàm int fscanf(FILE *stream, const char *format,...) trong Thư viện C chuẩn đọc input đã được định dạng từ một Stream.

Hàm int fscanf(FILE *stream sửa lỗi , const char *format,...) trong Thư viện C chuẩn đọc input danh sách đã kinh nghiệm được định dạng từ một Stream.

Khai báo hàm fscanf() trong C

Dưới đây là phần khai báo cho hàm fscanf() trong C:

int fscanf(FILE *stream, const char *format, ...)

Tham số

stream − Đây là con trỏ tới một đối tượng FILE danh sách mà nhận diện Stream.

format − Đây là chuỗi tất toán mà chứa một miễn phí hoặc nhiều mục sau: ký tự Whitespace nguyên nhân , ký tự Non-whitespace kiểm tra và Format specifier chia sẻ . Một format specifier nguyên nhân sẽ là dạng [=%[*][width][modifiers]type=] tải về , link down được giải thích chi tiết như sau:

Tham sốMiêu tả
*Đây là một dấu hoa thị bắt đầu (tùy ý) tối ưu để chỉ rằng dữ liệu là nguyên nhân được đọc từ Stream nguyên nhân nhưng bị bỏ qua nạp tiền , ví dụ: nó không tốc độ được lưu trữ trong tham số tương ứng
widthXác định số ký tự tối đa kích hoạt được đọc trong hoạt động đọc thanh toán hiện tại
modifiersXác định một kích cỡ khác link down với int (trong trường hợp d danh sách , I đăng ký vay và n) tất toán , unsigned int (trong trường hợp o,u lấy liền và x) download hoặc float (trong trường hợp e sửa lỗi , f vô hiệu hóa và g) cho dữ liệu danh sách được trỏ tối ưu bởi tham số bổ sung tương ứng: h cho short int (cho d bản quyền , i mật khẩu và n) dữ liệu , xóa tài khoản hoặc unsigned short int (cho o tốt nhất , u hay nhất và x); l cho long int (cho d bản quyền , i hướng dẫn và n) cập nhật , mẹo vặt hoặc unsigned long int (cho o dịch vụ , u đăng ký vay và x) tốt nhất , như thế nào hoặc double (cho e phải làm sao , f đăng ký vay và g); L cho long double (cho e qua mạng , f thanh toán và g)
typeMột ký tự xác định kiểu dữ liệu sửa lỗi được đọc tài khoản và cách nó đăng ký vay được mong đợi nơi nào được đọc kỹ thuật . Bạn theo dõi bảng download tiếp theo

Type specifier cho hàm fscanf

KiểuInputKiểu tham số
cKý tự đơn: Đọc ký tự kế tiếp qua web . vô hiệu hóa Nếu một độ rộng khác 1 cập nhật được xác định mẹo vặt , mật khẩu thì hàm này đọc độ rộng an toàn các ký tự bản quyền và lưu trữ chúng trong cài đặt các vị trí liên tiếp nhau địa chỉ của mảng tất toán đã lừa đảo được truyền như là tham số cài đặt . Không có ký tự null nào mật khẩu được phụ thêm vào cuốichar *
dSố nguyên hệ thập phân: Số này tùy ý tính năng được đặt trước chi tiết bởi một dấu + dữ liệu hoặc -int *
e miễn phí , E như thế nào , f tự động , g ứng dụng , GSố thực dấu chấm động: Số thập phân chứa một dấu thập phân cài đặt , trên điện thoại được đặt trước tùy ý xóa tài khoản bởi một dấu + quảng cáo hoặc – giả mạo qua mạng được theo sau tùy ý link down bởi ký tự e quảng cáo hoặc E như thế nào và một số thập phân tất toán . Hai ví dụ hợp lệ là -732.103 cài đặt và 7.12e4float *
oSố nguyên hệ bát phânint *
sChuỗi ký tự kích hoạt . Nó thanh toán sẽ đọc thanh toán các ký tự liên tiếp nhau tới khi tìm thấy một whitespace ( giả mạo có thể là blank an toàn , newline (dòng mới) qua web và tab)char *
uSố nguyên hệ thập phân không dấuunsigned int *
x nơi nào , XSố nguyên hệ thập lục phânint *

Các tham số bổ sung -- Phụ thuộc vào chuỗi định dạng format download , hàm này lấy liền có thể có một dãy tham số bổ sung qua web , mỗi tham số chứa một giá trị khóa chặn để kinh nghiệm được chèn thay cho mỗi %-tag qua app được xác định trong tham số format qua web , nơi nào nếu có kiểm tra . Số tham số này nên cùng số lượng trên điện thoại với số %-tags giả mạo mà mong chờ một giá trị.

Trả về giá trị

Hàm này trả về số mục đầu vào hay nhất được kết nối sử dụng và gán thành công ở đâu nhanh hoặc 0 tăng tốc nếu kết nối thất bại.

Ví dụ

Chương trình C sau minh họa cách sử dụng lừa đảo của hàm fscanf() trong C:

#include <stdio.h>#include <stdlib.h>int main(){  char str1[10], str2[10], str3[10];  int year;  FILE * fp;  fp = fopen ("baitapc.txt", "w+");  fputs("Toi sinh nam 2016", fp);  
  rewind(fp);  fscanf(fp, "%s %s %s %d", str1, str2, str3, &year);  
  printf("Doc chuoi 1: |%s|
", str1 );  printf("Doc chuoi 2: |%s|
", str2 );  printf("Doc chuoi 3: |%s|
", str3 );  printf("Doc so nguyen: |%d|
", year );  fclose(fp);  
  return(0);}

Biên dịch tự động và chạy chương trình C trên lừa đảo sẽ cho kết quả:

Hàm fscanf() trong C

Theo Tutorialspoint

Bài trước: Hàm vsprintf() trong C

Bài tiếp: Hàm scanf() trong C

4.8/5 (90 votes)

Ý kiến khách hàngPreNext