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