如何将char转换为const char?如何在不更改char SendBuf的情况下实现类型转换?这是我的代码:
.cpp
// main()
char SendBuf[6] = "Hello";
sendto(..., SendBuf, ...);
// sendto structure
int sendto(
__in SOCKET s,
__in const char *buf,
__in int len,
__in int flags,
__in const struct sockaddr *to,
__in int tolen
);错误
Error 1 error C2440: '=' : cannot convert from 'const char [6]' to 'char [6]'谢谢。
发布于 2011-03-18 18:08:13
这样写作业:
const char *SendBuf = "Hello";您不需要对函数调用做任何事情。( const char*参数将以一个char*变量作为输入。)
发布于 2011-03-18 20:30:21
我没有现成的Microsoft编译器来测试这一理论,但我怀疑OP有这样的代码:
int main() {
char SendBuf[6];
SendBuf = "Hello";
// sendto(..., SendBuf, ...);
}我怀疑他所看到的错误,cannot convert from 'const char [6]' to 'char [6]'是在赋值时发生的,而不是初始化或sendto调用。
使用Microsoft编译器的人能检查、编译上面的程序并确认错误消息吗?
发布于 2011-03-18 18:33:02
试一试
char SendBuf[6] = { "Hello" };请注意大括号,它告诉编译器您正在初始化聚合(在本例中是数组)。
然后,而不是
SendBuf = "Hello";这显然是你真正的代码,使用
strcpy(SendBuf, "Hello");或
memcpy(SendBuf, "Hello", 6);https://stackoverflow.com/questions/5356072
复制相似问题