Tôi có một câu hỏi liên quan đến fgets và fscanf trong C. chính xác là sự khác biệt giữa hai? Ví dụ:Sự khác biệt giữa fgets và fscanf?
char str[10];
while(fgets(str,10,ptr))
{
counter++;
...
và ví dụ thứ hai:
char str[10];
while(fscanf(ptr,"%s",str))
{
counter++;
...
khi có một file văn bản chứa chuỗi được phân cách bởi một khoảng trống, ví dụ: AB1234 AC5423 AS1433. Trong ví dụ đầu tiên, "bộ đếm" trong vòng lặp while sẽ không đưa ra cùng một đầu ra như trong ví dụ thứ hai. Khi thay đổi "10" trong chức năng fgets, bộ đếm sẽ luôn cho kết quả khác nhau. Lý do cho điều này là gì? Ai đó cũng có thể giải thích chính xác fscanf làm gì, chuỗi dài trong mỗi vòng lặp trong bao lâu?
Cảm ơn câu trả lời của bạn, điều này cũng tương tự cho fput và fprintf? Hay sự khác biệt giữa chúng là gì? – phpheini
Không, chúng khác nhau. Ví dụ '% s' không dừng ở khoảng trống trong printf. Đọc hướng dẫn. – cnicutar