gpt4 book ai didi

c++ - 可移植字符换行符

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:44 26 4
gpt4 key购买 nike

有没有办法编写一个跨平台的解析器来读取字符直到找到换行符?我在 Linux 中使用“\0”,但我不确定这是否也可以在 Windows 上完成。

std::string line;
// fill the line
QTextStream ss(&line);

for(;;)
{
ss >> c;
if(c == '"' || c=='\0' ) // here I want to continue parsing until a new-line character or a ending double quote is found
break;
}

最佳答案

如果您正在使用 C++ 文本流(std::istreamstd::ostream,除非 ios_base::binary打开文件流时已设置标志),然后 C++ 以平台无关的方式处理 \n 的输入和输出。

这意味着在 Windows 上读取包含 \r\n 的文件会将其视为 \n,同样输出 \n 将输出特定于平台的换行符。

如果你需要读取连续的行,最简单的方法是使用getline :

std::string line;
while (getline(std::cin, line)) {
// process line
}

\0 从不被视为换行符。

关于c++ - 可移植字符换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11204369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com