-
Notifications
You must be signed in to change notification settings - Fork 177
Closed
Description
- 我正在解决这个问题:Resolve IO.output_gen's issues #155
IO 类直接输出是默认 '\n'
的,但是使用 output_gen
函数时,由于答案文件由用户程序生成,要求用户编写的 std 输出时自行处理换行符问题。后者明显增加了用户的工作量。
以下为原始内容,与实际情况不相符。
这应该是一个比较无语的问题,众所周知,根据操作系统的不同,换行符可能是 '\r'
,'\n'
或 '\r\n'
;大部分评测系统是 Linux 系统('\n'
),而大部分出题人的电脑是 Windows 系统('\r\n'
)。
正常来说,在同一系统下,使用非二进制模式读取文件得到的换行符均被自动处理为一个字符,但跨系统数据生成时情况有所不同。
这导致了臭名昭著的换行符问题,即,选手可能被迫在手动处理换行符时进行特判;而数据的换行符可能是三者中的任何一种甚至混用。
由于项目的 IO
类并未使用二进制模式输入输出,其生成文件的换行符依赖系统环境。
Metadata
Metadata
Assignees
Labels
No labels