プリプロセス時標準入力

IOCCC のネタを漁っていたら面白いものがあったのでパクってみた.

#include <iostream>

int main()
{
    char str[] = ""
        #include "/dev/tty"
    "";
      
    std::cout << str << std::endl;

    return 0;
}

コンパイル時に

"Hello, world!"^D

と入力(^Dは Ctrl+D)してコンパイルし実行すると

Hello, World!

と出力されます.