2009-10-05 76 views
21

Tôi đã học C++ và tắt nhiều lần nhưng không bao giờ viết một ứng dụng thực bằng cách sử dụng nó. thời gian dài tôi đã nghĩ rằng viết một trình soạn thảo văn bản sẽ là một cái gì đó rất thú vị, bây giờ tôi đang tìm kiếm một trình soạn thảo văn bản đơn giản nhưng phong nha viết bằng c hoặc C++ mà từ đó tôi có thể lấy cảm hứng và học cách viết một trình soạn thảo văn bản riêng tôi.cách viết trình soạn thảo văn bản trong C++

Các bạn có thể giới thiệu trình soạn thảo văn bản "đơn giản nhưng tốt" được viết bằng c hoặc C++ cho tôi không?

+1

Mặc dù niềm tin của tôi rằng chúng tôi đã thực hiện việc này trước đây, tôi đã không tìm thấy kết quả khớp chính xác --- đó là một kết quả khó tìm kiếm. Dưới đây là một số tài nguyên có liên quan: http://stackoverflow.com/questions/845527/how-fast-does-it-take-to-write-a-simple-custom-editor và http://stackoverflow.com/questions/ 1047537/text-editor và http://stackoverflow.com/questions/179299/how-do-shell-text-editors-work – dmckee

Trả lời

9

Vâng những gì bạn muốn thấy âm thanh giống như một hướng dẫn hơn là một ứng dụng thực tế (tôi nghĩ rằng các ứng dụng như Notepad++ sẽ là rất nhiều để bổ nhào vào đầu). Vì bạn không đề cập đến bất kỳ môi trường nào bạn muốn lập trình, bạn có thể xem Demo QT Text Editor. QT là một bộ công cụ GUI nền tảng chéo, do đó bạn không bị ràng buộc với một hệ điều hành cụ thể nhưng có lẽ khó khăn hơn để thiết lập sau đó một môi trường Visual Studio trong Windows.

Chỉ dành cho Windows, bạn có thể muốn suy nghĩ về việc đào sâu hơn vào nền tảng .NET (ví dụ: C#) như được đề xuất trong this question. Nó không giúp học C++ nhưng nó làm cho việc phát triển GUI trở nên dễ dàng hơn rất nhiều.

+0

Liên kết thứ hai không hoạt động. Ý của bạn là [This] (http://doc.qt.io/qt-5/qtwidgets-richtext-textedit-example.html)? –

+1

Cập nhật các liên kết. Tôi đoán điều đó có thể xảy ra sau 6 năm;) – Daff

+0

Vâng: D. Tuyệt quá. –

2

Notepad++ đối với một số định nghĩa "đơn giản".

+1

Đơn giản? Bạn có chắc không? Nó có thể là một trình soạn thảo văn bản rất đẹp nhưng nó chứa đầy vô số các tính năng vô dụng (tìm kiếm wikipedia, như thể bất cứ ai sẽ sử dụng nó). – david

19

Bạn có thể muốn xem Zile hoặc nvi. Cả hai đều khá đơn giản; Zile là Emacs, và nvi là Berkeley vi. Một cách khác để xem xét sẽ là Nano, một trình soạn thảo văn bản đơn giản được thiết kế để dễ dàng cho người dùng mới. Tôi không biết làm thế nào sạch mã là trên bất kỳ trong số này, mặc dù.

Tôi cũng khuyên bạn nên đọc . Cuốn sách này khảo sát nhiều vấn đề cụ thể phải được giải quyết bằng văn bản một trình soạn thảo văn bản cùng với các cách tiếp cận, chiến lược và thuật toán để giải quyết chúng. Nội dung của nó phải phù hợp và hữu ích ngay cả khi trình soạn thảo của bạn sẽ không giống như Emacs chút nào.

+0

Có tài nguyên tương tự như 'Thủ công chỉnh sửa văn bản', cụ thể xử lý dữ liệu văn bản, để chỉnh sửa, đặc biệt nhiều bộ đệm tệp khổng lồ (trong GB) với mức sử dụng bộ nhớ hiệu quả không? Có vẻ như trước khi đi sâu vào mã nguồn, sẽ rất hữu ích khi có một cơ sở lý thuyết tốt. – msinfo

4

Nhận vi. Có một thiếu lớn các trình soạn thảo thực sự như vi/vim;) Tôi muốn nói rằng có rất nhiều trình soạn thảo như notepad/notepad ++, nhưng ít trình chỉnh sửa có chế độ điều khiển/lệnh riêng biệt. Vì vậy, bạn có thể xem xét các nguồn vi để truyền cảm hứng cho bản thân và giới thiệu một cái gì đó mang tính cách mạng.

+2

Có lý do tại sao có ít trình chỉnh sửa có chế độ điều khiển/lệnh riêng biệt. Đừng làm cho tôi sai, tôi sống trong vim, nhưng các chế độ riêng biệt không thêm nhiều vào nó (so sánh Emacs, ví dụ), và rất khó để tìm hiểu. –

+2

Có rất nhiều, nhưng chúng kích hoạt 'chế độ điều khiển' trong khi bạn giữ nút 'Điều khiển'. – ima

+1

Tôi đồng ý với bạn, nhưng tôi bị bệnh khi nhận một bản sao khác của notepad;). Tôi muốn một cái gì đó thực sự mới. Đó là thông điệp của tôi. – bua

4

Notepad++ là trình soạn thảo mã nguồn mở tuyệt vời được viết bằng C++.

1

JuffEd. Nó được viết bằng C++, nền tảng chéo do sử dụng Qt và QScintilla. Notepad ++ cũng sử dụng thành phần soạn thảo văn bản Scintilla, nhưng nó chỉ giới hạn ở nền tảng Windows.

0

loot đến QT này là nền tảng chéo, CÓ THÀNH PHẦN RichText (widget) .Writing ứng dụng đầu tiên trong QT sẽ cung cấp cho bạn knowledge.I thực tế khuyên bạn nên học QT bởi cuốn sách

2

Bạn cũng có thể kiểm tra Scintilla thành phần chỉnh sửa .

1

Bạn muốn tạo trình soạn thảo văn bản nào?

Câu hỏi đầu tiên sẽ là GUI hoặc Console dựa trên?

GUI dựa trên, bạn có muốn tạo một cái gì đó như Notepad không? Và trên nền tảng nào? Nếu đó là MS Windows dựa, tôi có thể khuyên bạn nên chọn lên trên MFC?

Nếu dựa trên văn bản, có nhiều giải pháp nguồn mở bạn có thể tham gia. Đề xuất của tôi là xem xét các trình chỉnh sửa đơn giản nhất như ed hoặc một cái gì đó.

Các vấn đề liên quan