On Sunday, 20 July 2025 at 20:26:02 UTC, Salih Dincer wrote:
I want the program to end with the F6 key on my keyboard instead of the tilde. I use Windows as the platform.

Thank you for all your responses. I checked the ASCII table, and 0x1A is indeed the character I was looking for. I'm not sure what this would be for Linux, but it works on Windows:

```d
struct StdinByChar
{
  @property bool empty()
  {
    if(isEmpty)
      return true;

    if(!hasChar)
    {
      auto buff = new char[1];
      stdin.rawRead(buff);

      if (buff[0] == 0x1A) // F6 (^Z) character
      {
        isEmpty = true;
        return true;
      }
      chr = buff[0];
      hasChar = true;
    }
    return false;
  }

  @property auto front() => chr;

  auto popFront() => hasChar = false;

  private:
    char chr;
    bool hasChar, isEmpty;
}
```

SDB@79


Reply via email to