Hướng dẫn c++ eof character - c ++ ký tự eof
Ký tự dòng mới được biểu thị bằng Hỏi ngày 12 tháng 9 năm 2012 lúc 13:39Sep 12, 2012 at 13:39
static_rttistatic_rttistatic_rtti 52.2K45 Huy hiệu vàng131 Huy hiệu bạc187 Huy hiệu đồng45 gold badges131 silver badges187 bronze badges 4 EOF không phải là một nhân vật (trong hầu hết các hệ điều hành hiện đại). Nó chỉ đơn giản là một điều kiện áp dụng cho luồng tệp khi đạt được kết thúc của luồng. Sự nhầm lẫn phát sinh do người dùng có thể báo hiệu EOF cho đầu vào bảng điều khiển bằng cách nhập ký tự đặc biệt (ví dụ lần lượt tín hiệu EOF theo quy trình. Lưu ý: Trong một số hệ điều hành rất cũ EOF là một nhân vật, ví dụ: Control-Z trong CP/M, nhưng đây là một hack thô để tránh chi phí duy trì độ dài tệp thực tế trong các thư mục hệ thống tệp. Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:42Sep 12, 2012 at 13:42
8
Đó là lý do tại sao 2). Đó cũng là lý do tại sao việc chuyển đổi giá trị trả lại thành char trước khi kiểm tra EOF sẽ không hoạt động.Lưu ý rằng một số giao thức có các ký tự "EOF" ". ASCII có "kết thúc văn bản", "kết thúc truyền", "kết thúc khối truyền" và "cuối trung bình". Các câu trả lời khác đã đề cập đến Old Os'es. Bản thân tôi nhập ^d trên Linux và ^z trên bảng điều khiển Windows để ngừng cung cấp các chương trình đầu vào. . Đó là lý do tại sao tất cả các chức năng dữ liệu không chuỗi C hoạt động bằng cách sử dụng mảng 8 (để biết nơi kết thúc dữ liệu).Chỉnh sửa: Tiêu chuẩn C99 §7.19.1.3 Hoa Kỳ:
Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:48Sep 12, 2012 at 13:48
Aibaibaib 44.1K10 Huy hiệu vàng71 Huy hiệu bạc78 Huy hiệu đồng10 gold badges71 silver badges78 bronze badges 7 Không. EOF không phải là một nhân vật, mà là một trạng thái của FileHandle. Mặc dù có có các ký tự điều khiển trong ký tự ASCII đại diện cho phần cuối của dữ liệu, chúng không được sử dụng để báo hiệu phần cuối của các tệp nói chung. Ví dụ eot (^d) trong một số trường hợp gần như báo hiệu như nhau. Khi thư viện C tiêu chuẩn sử dụng số nguyên đã ký để trả về các ký tự và sử dụng -1 cho cuối tệp, đây thực sự chỉ là tín hiệu để chỉ ra hơn là một lỗi đã xảy ra. Tôi không có sẵn tiêu chuẩn C, nhưng để trích dẫn Susv3:
Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:43Sep 12, 2012 at 13:43
PMAKHOLMPMAKHOLMpmakholm 1.4888 Huy hiệu bạc23 Huy hiệu Đồng8 silver badges23 bronze badges Tôi đã đọc tất cả các ý kiến. Thật thú vị khi nhận thấy những gì xảy ra khi bạn in ra điều này:
Như chúng ta có thể thấy ở đây, EOF không phải là một nhân vật (bất cứ điều gì). Đã trả lời ngày 16 tháng 2 năm 2018 lúc 15:28Feb 16, 2018 at 15:28
carloswm85carloswm85carloswm85 9449 Huy hiệu bạc19 Huy hiệu đồng9 silver badges19 bronze badges 4 Ký tự Ví dụ, nó vẫn có thể được sử dụng để đánh dấu sự kết thúc của tiêu đề có thể đọc được trong tệp nhị phân: Nếu tệp bắt đầu bằng 1, người dùng có thể đổ nội dung tệp vào bảng điều khiển bằng lệnh 2 và kết xuất sẽ dừng tại Nhân vật EOF , tức là in một số mô tả và dừng lại, thay vì tiếp tục với rác sau đó.
Phuclv 34,9K12 Huy hiệu vàng143 Huy hiệu bạc439 Huy hiệu đồng12 gold badges143 silver badges439 bronze badges Đã trả lời ngày 1 tháng 9 năm 2014 lúc 20:00Sep 1, 2014 at 20:00
Axel Rietschinaxel RietschinAxel Rietschin 5711 Huy hiệu vàng6 Huy hiệu bạc8 Huy hiệu đồng1 gold badge6 silver badges8 bronze badges Đây là phụ thuộc hệ thống nhưng thường -1. Xem ở đây Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:42Sep 12, 2012 at 13:42
Đó là lý do tại sao Lưu ý rằng một số giao thức có các ký tự "EOF" ". ASCII có "kết thúc văn bản", "kết thúc truyền", "kết thúc khối truyền" và "cuối trung bình". Các câu trả lời khác đã đề cập đến Old Os'es. Bản thân tôi nhập ^d trên Linux và ^z trên bảng điều khiển Windows để ngừng cung cấp các chương trình đầu vào. . Đó là lý do tại sao tất cả các chức năng dữ liệu không chuỗi C hoạt động bằng cách sử dụng mảng 8 (để biết nơi kết thúc dữ liệu).
Chỉnh sửa: Tiêu chuẩn C99 §7.19.1.3 Hoa Kỳ: Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:43Sep 12, 2012 at 13:43
Keith Millerkeith MillerKeith Miller 1.3371 Huy hiệu vàng16 Huy hiệu bạc32 Huy hiệu đồng1 gold badge16 silver badges32 bronze badges 1 Giá trị của EOF không thể bị nhầm lẫn với bất kỳ nhân vật thực. Nếu 6, thì chúng ta phải khai báo 7 đủ lớn để giữ bất kỳ giá trị nào mà getchar() trả về. Chúng ta không thể sử dụng char vì 7 phải đủ lớn để giữ EOF ngoài các ký tự.
Luke Taylor 7.8078 Huy hiệu vàng53 Huy hiệu bạc87 Huy hiệu đồng8 gold badges53 silver badges87 bronze badges Đã trả lời ngày 27 tháng 3 năm 2016 lúc 13:18Mar 27, 2016 at 13:18
1 Câu trả lời là không, nhưng ... Bạn có thể bối rối vì hành vi của 1Từ http://www.cplusplus.com/reference/cstdio/fgets/:
Đã trả lời ngày 23 tháng 2 năm 2017 lúc 10:50Feb 23, 2017 at 10:50
Betontalpfabetontalpfabetontalpfa 3,2141 Huy hiệu vàng32 Huy hiệu bạc57 Huy hiệu đồng1 gold badge32 silver badges57 bronze badges Tôi đã nghiên cứu rất nhiều về tín hiệu EOF. Trong cuốn sách về lập trình trong C của Dennis Ritchie, lần đầu tiên gặp phải trong khi giới thiệu các lệnh Putchar () và getchar (). Về cơ bản, nó đánh dấu sự kết thúc của đầu vào chuỗi ký tự. Ví dụ như ví dụ. Chúng ta hãy viết một chương trình tìm kiếm hai đầu vào số và in tổng của chúng. Bạn sẽ nhận thấy sau mỗi đầu vào số bạn nhấn Enter để đánh dấu tín hiệu rằng bạn đã hoàn thành hành động IPUT. Nhưng trong khi làm việc với các chuỗi ký tự Enter được đọc chỉ là một ký tự khác ['\ n': nhân vật Newline]. Để đánh dấu việc chấm dứt đầu vào, bạn nhập ^z (ctrl + z trên bàn phím) trong một dòng hoàn toàn mới và sau đó nhập. Điều đó báo hiệu các dòng lệnh tiếp theo để được thực thi.
Trên đây là mã số để đếm số ký tự bao gồm '\ n' (newline) và '\ t' (không gian). Nếu bạn không muốn đếm các ký tự mới, hãy làm điều này:
Bây giờ suy nghĩ chính để đưa ra để đưa ra đầu vào. Thật đơn giản: Viết tất cả câu chuyện bạn muốn sau đó đi vào một dòng mới và nhập ^z và sau đó nhập lại. Đã trả lời ngày 18 tháng 12 năm 2020 lúc 3:52Dec 18, 2020 at 3:52
Có hằng số Đã trả lời ngày 12 tháng 9 năm 2012 lúc 13:42Sep 12, 2012 at 13:42
LundinlundinLundin 181K38 Huy hiệu vàng244 Huy hiệu bạc378 Huy hiệu đồng38 gold badges244 silver badges378 bronze badges |