请帮助消息框不接受参数

时间:2016-01-15 02:06:14

标签: c++

我已经有了这个功能,但它不起作用:

std::string s(Buffer);
std::string::size_type k = 0;
while ((k = s.find('"', k)) != s.npos) {
    s.erase(k, 1);
}
while ((k = s.find(' ', k)) != s.npos) {
    s.erase(k, 1);
}
::MessageBoxA(NULL, s.c_str, "Print recevied buffer", MB_ICONINFORMATION);

我有一个缓冲区(这是一个互联网页面),我想解析它以删除所有空格和字符'''。我尝试了很多解决方案,但没有一个能够解决问题 这个说我应该创建一个字符串的引用,但我不明白这意味着什么。

2 个答案:

答案 0 :(得分:1)

您编写s.c_str(命名函数指针)而不是s.c_str()(实际调用函数)。

答案 1 :(得分:1)

您的实际问题涉及使用k而不重置它。

while ((k = s.find('"', k)) != s.npos) {
    s.erase(k, 1);
}

k = 0; //you need to reset k in order to properly remove spaces

while ((k = s.find(' ', 0)) != s.npos) {
    s.erase(k, 1);
}