首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >const char to char问题

const char to char问题
EN

Stack Overflow用户
提问于 2011-03-18 18:06:49
回答 4查看 4.1K关注 0票数 0

如何将char转换为const char?如何在不更改char SendBuf的情况下实现类型转换?这是我的代码:

.cpp

代码语言:javascript
复制
// 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
);

错误

代码语言:javascript
复制
Error   1   error C2440: '=' : cannot convert from 'const char [6]' to 'char [6]'

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-18 18:08:13

这样写作业:

代码语言:javascript
复制
const char *SendBuf = "Hello";

您不需要对函数调用做任何事情。( const char*参数将以一个char*变量作为输入。)

票数 3
EN

Stack Overflow用户

发布于 2011-03-18 20:30:21

我没有现成的Microsoft编译器来测试这一理论,但我怀疑OP有这样的代码:

代码语言:javascript
复制
int main() {
    char SendBuf[6];
    SendBuf = "Hello";
    // sendto(..., SendBuf, ...);
}

我怀疑他所看到的错误,cannot convert from 'const char [6]' to 'char [6]'是在赋值时发生的,而不是初始化或sendto调用。

使用Microsoft编译器的人能检查、编译上面的程序并确认错误消息吗?

票数 4
EN

Stack Overflow用户

发布于 2011-03-18 18:33:02

试一试

代码语言:javascript
复制
char SendBuf[6] = { "Hello" };

请注意大括号,它告诉编译器您正在初始化聚合(在本例中是数组)。

然后,而不是

代码语言:javascript
复制
SendBuf = "Hello";

这显然是你真正的代码,使用

代码语言:javascript
复制
strcpy(SendBuf, "Hello");

代码语言:javascript
复制
memcpy(SendBuf, "Hello", 6);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5356072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档