如何检测C ++中是否遇到换行符?

时间:2016-02-24 05:37:24

标签: c++

我有输入,我们知道当前的测试用例已经完成,然后由中间的空行开始。如果C ++中出现空行,我该如何检查?

2 个答案:

答案 0 :(得分:3)

检测空白行的方法有很多种(当然,如果该行不包含空格)。

示例1(假设您逐行获取数据):

#include <string.h>

...

if (strcmp(yourLine, "") == 0) { // or strcmp(yourLine, "\n"), it depends how you get yourLine in your code above
    // your code
    ...
}

示例2:

#include <string>

std::string yourData = "qwe\nrty\n\nasd\nfgh\n";

std::size_t index;
while ((index = yourData.find("\n\n")) != std::string::npos) {
    std::string part = yourData.substr(0, index);
    // your code
    yourData = yourData.substr(index);
}

在示例2中,使用了方法std :: string :: find和std :: string :: substr。您可以查看相关文档:http://www.cplusplus.com/reference/string/string/find/http://www.cplusplus.com/reference/string/string/substr/

答案 1 :(得分:1)

您需要检查'\ r','\ n'或“\ r \ n”,具体取决于运行代码的操作系统。有关为何这取决于操作系统的详细解释,请参阅Difference between \n and \r?