

If you write to a text (as opposed to binary) stream, \n produces \n or \r\n (or \r if old enough) depending on platform just fine.
Nobody should be using C++ anyway, but plenty of languages have silly system newline constants, which do nothing useful.
Other way around. You punched the edge to make it writeable (or double-punched to write on the back side, if you were brave). Cover it to make it read-only. The 3.5" sliders were the same mechanism, open was write, closed was read-only.