Nhập file text vào mảng 2 chiều string trong C

Chào mọi người ạ, chuyện là hiện tại em đang có một file txt cần chuyển vào mảng 2 chiều string những chưa biết cách làm thế nào. Ai có thể chỉ giúp em với ạ.
-Đây là file mẫu .txt:

1 Like

đề bài không nói rõ mảng 2 chiều như thế nào
bản thân string cũng là 1 mảng
nên cứ đẩy hết vào 1 mảng với type là string thì cũng tính nó là mảng 2 chiều rồi

1 Like

Bạn ơi, ý là mình muốn đẩy vào mảng 2 chiều string, mỗi phần tử là một từ ý bạn, gặp kí tự xuống dòng thì sẽ tạo một phần tử mới đến khi kết thúc file. Bạn giúp mình với, bài này ngồi 2 ngày rồi chưa biết làm thế nào?

Ví dụ sau khi nhập file vào mảng nó sẽ như thế này nè:
char word[][10] = {“my”, “name”, “is”, “cong”};

ý bạn là vậy có đúng không ?
image

1 Like

Dạ đúng rồi ạ, gặp kí tự xuống dòng sẽ tạo một phần tử mới

bạn có thể dùng lệnh eof hoặc feof để duyệt tất cả dòng trong một tập tin
mỗi lần lấy 1 dòng trong tập tin bạn lại duyệt từng ký tự rồi đẩy vào mảng 2 chiều

2 Likes

giải thuật thì mình hiểu rồi nhưng code thì vẫn chưa hình dung ra làm như thế nào. Mình có code thử vài lần theo cách của bạn trước khi hỏi trên này rồi nhưng lỗi. Bạn có thể code thử giúp mình được không ạ? Thực sự gặp bài này bí quá.


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

	char arr_2d[100][100];

	int index = 0;

	while (!feof(fp))
	{
		char buff[255];

		fgets(buff, 255, fp); // get line

		for (int i = 0; i < strlen(buff) - 1; i++) { 
			arr_2d[index][i] = buff[i];
		}
		index++;
	}

:grin:

1 Like

Phân tích từ điển thì nên đổ vào tree :slight_smile:

Dữ liệu có thể sẽ không sạch :smiley:

1 Like

Thầy HảiLT sẽ không chấp nhận phương pháp cho vào mảng 2 chiều đâu,3 chiều đi em

Sao anh biết em học HảiLT thế??:slightly_smiling_face:

Con Thanh Thanh em gái anh thích em.Nó học cùng lớp em đấy em không biết gì à?

bạn dùng while(cin>>s) để lưu từ đầu tới cuối nha!

Code C mà cậu ơi :man_facepalming:

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