在C中,如何在包含换行符的缓冲区上使用sscanf。
缓冲区示例:
buf = "Name: Sam\nID: 123\nLocation: 123\nDest: abc\0";
我想做类似的事情:
sscanf(buf, "%[^\n]s\n%[^\n]s\n%[^\n]s\n%[^\0]s", line1, line2, line3, line4);
但sscanf
仅选择line1。关于如何使这项工作的任何想法。
注意:我真的想避免在缓冲区上循环4次,这可能是一个可能的解决方案。
答案 0 :(得分:0)
感谢WhozCraig的回答:
"丢失那些规格中的s,"%[^ \ n] \ n%[^ \ n] \ n ..."。 sscanf正在寻找一系列任何东西 - 但是换行,然后是' (它没有找到,然后......你希望得到这一点)。"