« first day (5198 days earlier)      last day (18 days later) » 
00:00 - 23:0023:00 - 00:00

23:05
At least you said character. Block structured devices and some sequential message protocols on some address families work differently. What about the async io API or the inotify and inotify2 event APIs? Will you worrying about them? Or half closed full duplex sockets?
And none of that is even part of the bog standard "it's complicated" stuff I mentioned.
So for now I'm just going to answer "Nope". That one is short enough to often be true, but it might not help you much either. I may revise my answer once further details appear as they could be revealing a possible X/Y Problem in disguise.
23:24
@Mitch There is not. EOF is a condition, not a character.
@tchrist It's for examples in documentation. I would use it "in print" to make clear the input stream shown in the example is at the end of file.
the file ends here∎
␀ 2400 SYMBOL FOR NULL
␁ 2401 SYMBOL FOR START OF HEADING
␂ 2402 SYMBOL FOR START OF TEXT
␃ 2403 SYMBOL FOR END OF TEXT
␄ 2404 SYMBOL FOR END OF TRANSMISSION
␅ 2405 SYMBOL FOR ENQUIRY
␆ 2406 SYMBOL FOR ACKNOWLEDGE
␇ 2407 SYMBOL FOR BELL
␈ 2408 SYMBOL FOR BACKSPACE
␉ 2409 SYMBOL FOR HORIZONTAL TABULATION
␊ 240A SYMBOL FOR LINE FEED
␋ 240B SYMBOL FOR VERTICAL TABULATION
␌ 240C SYMBOL FOR FORM FEED
Right, I use those a lot in documentation but they stand for characters. What I need is a typographical symbol that I can use to represent, we could call it the end of file pointer.
Well, there really are quite a lot of symbol characters.
@tchrist There are. And the "end of proof" symbol is actually pretty good. But if there is a specific symbol for the purpose of indicating end of file, I would use it. Right tool for the job and all that.
I suppose you're looking for something in common use for this, stuff like
U+23FB ‭ ⏻  POWER SYMBOL
U+23FC ‭ ⏼  POWER ON-OFF SYMBOL
⏩ 23E9        BLACK RIGHT-POINTING DOUBLE TRIANGLE
        = fast forward
something seems to be RTL'ing me :)
But you know what I mean.
23:30
@tchrist yeah exactly. Another choice is the ∅ (empty set)
 𝪈  1DA88       SIGNWRITING FULL STOP
 🛑 1F6D1       OCTAGONAL SIGN
        = stop sign
        * may contain text indicating stop
        x (warning sign - 26A0)
        x (heavy white down-pointing triangle - 26DB)
        x (horizontal black octagon - 2BC3)
Or ε the empty string in language theory. But of course it would be misused if I threw it at the end of a non-empty string.
yeah, the stopsign that's another good one to consider
Unicode coverage is better below U+10000 so maybe the black octagon
The \p{Transport_And_Map_Symbols} property may also be useful.
👾 "here there be dragons"
U+1F6AB ‭ 🚫 NO ENTRY SIGN
U+1F6B3 ‭ 🚳 NO BICYCLES
U+1F6B7 ‭ 🚷 NO PEDESTRIANS
U+1F6E1 ‭ 🛡  SHIELD
U+1F6BD ‭ 🚽 TOILET
U+1F6F8 ‭ 🛸 FLYING SAUCER
U+1F6C3 ‭ 🛃 CUSTOMS
Held for tariff inspection.
23:37
ha. ha. ha. ha. ha. ha.
ok that's a bunch of great ideas, thank you!
U+1F6A7 ‭ 🚧 CONSTRUCTION SIGN
U+1F6A6 ‭ 🚦 VERTICAL TRAFFIC LIGHT
You can also roll your own. There are multicodepoint emoji sequences that have magical effects. Or you could use a
◌⃠ 20E0 COMBINING ENCLOSING CIRCLE BACKSLASH
* prohibition
x (prohibited sign - 1F6C7)
 🛇  1F6C7       PROHIBITED SIGN
        x (combining enclosing circle backslash - 20E0)
        x (no entry sign - 1F6AB)
23:54
Shell from Polish–Ukrainian war 1918–1919 in Lviv, dated 5 January 1919
00:00 - 23:0023:00 - 00:00

« first day (5198 days earlier)      last day (18 days later) »