CString 解析回车
假设我有一个包含多个回车符的字符串,即:
394968686
100630382
395950966
335666021
我对 C++ 还很业余,有人愿意告诉我如何进行操作:解析字符串中的每一“行”吗?所以我可以稍后用它做一些事情(将所需的行添加到列表中)。我猜在循环中使用 Find("\n") ?
谢谢你们。
Let's say I have a string that has multiple carriage returns in it, i.e:
394968686
100630382
395950966
335666021
I'm still pretty amateur hour with C++, would anyone be willing to show me how you go about: parsing through each "line" in the string ? So I can do something with it later (add the desired line to a list). I'm guessing using Find("\n") in a loop?
Thanks guys.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
此代码将消除空行,但如果需要,很容易纠正。
Blank lines will be eliminated with this code, but that's easily corrected if necessary.
您可以尝试使用 stringstream。请注意,您可以重载 getline 方法以使用您想要的任何分隔符。
或者,您可以使用 boost 库的 tokenizer 类。
You could try it using stringstream. Notice that you can overload the getline method to use any delimeter you want.
Alternatively you could use the boost library's tokenizer class.
您可以在 C++ 中使用
stringstream
类。请注意,使用运算符>>时,解析的标记中不会包含空格。请参阅下面的评论。
You can use
stringstream
class in C++.Note that no whitespace will be included in the parsed token, with the use of operator>>. Please refer to comments below.
如果您的字符串存储在 c 风格的 char* 或
std::string
中,那么您只需搜索\n
即可。您可以使用 string::substr() 来获取子字符串并将其存储在列表中。伪代码,
If your string is stored in a c-style char* or
std::string
then you can simply search for\n
.You can use
string::substr()
to get the substring and store it in a list. Pseudo code,