Hỏi bài tập về file

Mình có file matran.txt có nội dung thế này:

4 6 7
3 6 8
2 4 8

Bây giờ mình muốn đọc file đó và gán các phần tử đó cho 1 mảng hai chiều nhưng do mình không biết số dòng và số cột nên mình không biết phải làm sao?

Nếu không biết thì theo mình nghĩ bạn nên thử while (!EOF), đọc theo dòng ấy

Ai nói với bạn là EOF đọc theo dòng

Nếu không biết trước số dòng hay số cột thì chắc là đọc vào kiểu

std::vector< std::vector< int > >

là đơn giản nhất.

1 Like

Em đang dùng C và tính dùng con trỏ mà không biết phải làm sao?:grinning:

Con trỏ thì chắc là dùng mảng con trỏ.

int *data[100]; //cứ tạm cho là 100 con trỏ đi.

Đọc dữ liệu 1 dòng vào kiểu mảng kí tự, đưa vào hàm xử lý để chuyển thành mảng số nguyên rồi trả về địa chỉ của mảng số nguyên đó

int* convertStringToArray(const char* line);

Đọc được dòng nào thì mình cho con trỏ tiếp theo trong mảng data trỏ vào nó.
Ví dụ:

data[1] = convertStringToArray(line);

Còn nếu muốn không biết trước số con trỏ cần sử dụng để lưu mỗi dòng nữa luôn thì chắc là tự tạo một struct giống với vector trong C++ vậy.

Có một số cách để đọc file từng dòng vào mảng kí tự như trong topic này mình có nói qua:

Chuyển mảng kí tự thành mảng dữ liệu như thế nào thì bạn tự xử lý tiếp vậy.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?