0

我有以下缓冲区

std::vector<char> vecBuffer;

以下分隔符

char delim = char(167);

以下替换功能

std::replace(vecBuffer.begin(), vecBuffer.end(), delim, ' ');

以及以下输出例程

out.write(&vecBuffer[0], x.length());
out.write(delim, 1);

但是最后一行给了我错误

error: invalid conversion from 'char' to 'const char*' [-fpermissive]
4

2 回答 2

1

delim是一个char并且write似乎期望一个指针。所以得到它的地址:

out.write(&delim, 1);
于 2013-02-07T16:49:03.880 回答
0

正确的语法是,

out.write((const char*)&delim, 1);
于 2013-02-07T17:04:53.233 回答