01/10/2018, 10:28
Đọc đến hết dòng trong C
Mình có 1 file input như nhau
10 25 4 3 86 1 23 20 14 1 3 7 3 16 7
2
Mình muốn đọc các số trong dòng 1 vào thành 1 mảng a, còn số nằm ở dòng 2 thì cho thành biến k. Mình có google và thử dùng fgets() nhưng không được. Rất mong các bạn giúp đỡ.
Đây là cách mình đã thử:
#include <stdio.h>
int main(){
//Doc
FILE *input = fopen("Input7.txt","r");
int a[2000],k;
fgets(a,2000,input);
fscanf(input,"%d",&k);
fclose(input);
return 0;
}
Bài liên quan
Code của bạn sao nhìn ngộ vậy, bạn nói “không được” nhưng không được chỗ nào chứ?
fgets
đọc ra một chuỗi chứ có phải ra mảng số đâu màint a[2000];
!Rồi xong phần đọc file, giờ bạn tự chuyển sang số từng số rồi đưa vào mảng là xong.
Vậy có cách nào vẫn đọc được như mong muốn nhưng đơn giản hơn k ạ ?
Trong đầu mình hiện tại thì chưa có cách nào gọi là “đơn giản hơn” được. Nhưng mình thấy như vậy là đơn giản lắm rồi, chỉ cần bạn biết:
strlen()
.malloc()
vàfree()
(còn tùy thuộc bạn làm cách nào thôi, không nhất thiết phải biết).12345 = (((1*10 + 2) * 10 + 3) * 10 + 4) * 10 + 5
Chỉ bao nhiêu đó là dư sức làm Thay vì bớt tí thời gian đi coi phim hay lướt fb thì suy nghĩ cách giải một chút cũng tốt mà. Mình code xong bài này trước khi mình reply topic của bạn nên mình không có nói phét đâu.
Cảm ơn bạn nhiều nhé
Mình đã đọc được rồi nha, cảm ơn gợi ý của bạn. Đây là code của mình nếu có ai cần :v