We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IO 类直接输出是默认 '\n' 的,但是使用 output_gen 函数时,由于答案文件由用户程序生成,要求用户编写的 std 输出时自行处理换行符问题。后者明显增加了用户的工作量。
'\n'
output_gen
以下为原始内容,与实际情况不相符。
这应该是一个比较无语的问题,众所周知,根据操作系统的不同,换行符可能是 '\r','\n' 或 '\r\n';大部分评测系统是 Linux 系统('\n'),而大部分出题人的电脑是 Windows 系统('\r\n')。
'\r'
'\r\n'
正常来说,在同一系统下,使用非二进制模式读取文件得到的换行符均被自动处理为一个字符,但跨系统数据生成时情况有所不同。
这导致了臭名昭著的换行符问题,即,选手可能被迫在手动处理换行符时进行特判;而数据的换行符可能是三者中的任何一种甚至混用。
由于项目的 IO 类并未使用二进制模式输入输出,其生成文件的换行符依赖系统环境。
IO
The text was updated successfully, but these errors were encountered:
目前可能的替代方案是将用户 std 的输出重定向到临时文件,由 IO 类做处理
Sorry, something went wrong.
No branches or pull requests
IO 类直接输出是默认
'\n'
的,但是使用output_gen
函数时,由于答案文件由用户程序生成,要求用户编写的 std 输出时自行处理换行符问题。后者明显增加了用户的工作量。以下为原始内容,与实际情况不相符。
这应该是一个比较无语的问题,众所周知,根据操作系统的不同,换行符可能是
'\r'
,'\n'
或'\r\n'
;大部分评测系统是 Linux 系统('\n'
),而大部分出题人的电脑是 Windows 系统('\r\n'
)。正常来说,在同一系统下,使用非二进制模式读取文件得到的换行符均被自动处理为一个字符,但跨系统数据生成时情况有所不同。
这导致了臭名昭著的换行符问题,即,选手可能被迫在手动处理换行符时进行特判;而数据的换行符可能是三者中的任何一种甚至混用。
由于项目的IO
类并未使用二进制模式输入输出,其生成文件的换行符依赖系统环境。The text was updated successfully, but these errors were encountered: