30/09/2018, 20:59

Các chèn thêm thông tin trong Tập tin

Chào các anh chị. Các anh chị cho em hỏi là có cách nào để chèn thêm các kí tự trong một tập tin bằng C không ạ ?
chẳng hạn : tập tin có nội dung ABCDEF
sau khi chèn là ABKCDEF

Tại vì em nghĩ chỉnh sửa tập tin chỉ có cách là load nó lên bộ nhớ đệm vào thao tác trên đó…mà có 1 điều em thắc mắc là cách sắp xếp các kí tự trong bộ nhớ đệm là tuần tự như kiểu mảng tĩnh hay là kiểu động như danh sách liên kết. Nếu như mảng tĩnh thì việc chèn là phải tạo một cái buffer trung gian rồi load lại vào tập tin hay sao ạ !!
Mong anh chị làm rõ giúp em với em cám ơn nhiều

Giang Son Nguyen viết 23:08 ngày 30/09/2018
  1. Nếu như bạn thao tác với tệp tin và muốn thêm một đoạn gì đó vào thì chỉ có cách ghi đè lại tập tin đó (nếu mình nhớ ko nhầm )
  2. Bạn có thể nói rõ hơn câu hỏi được không, mình chưa hiểu ý bạn muốn hỏi lắm :))
  3. Mảng tĩnh khi bạn khởi tạo mảng đã phải cung cấp cho nó số lượng phần tử của mảng VD: int A[5], như vậy bạn không thể chèn thêm một phần tử cho nó thành A[6] hay A[n] trong khi đang thao tác với nó, trừ khi khởi tạo lại.
Đỗ Thanh Hải viết 23:02 ngày 30/09/2018

Tức là chỉ còn cách load lên buffer sau đó ghi đè lại thôi đúng ko anh :)))
Tại em thấy nếu dùng cách này khá tốn sức vì mỗi lần chỉnh sửa một kí tự nào đó trong văn bản thì phải load tất cả tập tin lên và xử lý sau đó lại ghi đè lại tất cả @@

Giang Son Nguyen viết 23:09 ngày 30/09/2018

về cơ bản là vậy :))
chính xác hơn thì giả sử mình có 1 file nội dung là abcd
nếu chèm thêm e vào giữa abc với d thì nó sẽ thành abce mất mất d
nếu chèm thêm xxx vào từ đầu thì nó sẽ thành xxxd
về cơ bản là thế nên khi thay đổi thì phần lớn sẽ phải ghi lại toàn bộ
trên stackoverflow có nói về cái này, bạn có thể tìm thử

Đỗ Thanh Hải viết 23:15 ngày 30/09/2018

Dạ em hiểu rồi…Cám ơn anh rất nhiều ^^

Bài liên quan
0