首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >char*类型的值不能用于初始化"char“类型的实体

char*类型的值不能用于初始化"char“类型的实体
EN

Stack Overflow用户
提问于 2014-06-17 08:40:19
回答 1查看 5.9K关注 0票数 0

我是C++新手,我想做一些简单的事情,比如把char[]的内容写到磁盘上

我很难做到这一点。

下面是我的代码:

代码语言:javascript
复制
char x[256],y[256],z[256];

        sprintf( x, "%.2f", pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.x ); //pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.x  is a float struct


        sprintf( y, "%.2f", pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.y ); //pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.y  is a float struct


        sprintf( z, "%.2f", pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.z ); //pCommandHandling->m_dtHandleInformation[i].Xfrms.translation.z  is a float struct

    FILE *tracker_file = fopen("NDI_FiMe.TMP","w");
                char buffer[] = {x,";",y,";",z};
                fwrite(buffer , sizeof(char), sizeof(buffer), tracker_file);
                fclose(tracker_file);

我遇到的问题是我得到了:

IntelliSense:"char *“类型的值不能用于初始化"char”类型的实体

EN

回答 1

Stack Overflow用户

发布于 2014-06-17 09:54:54

不能将字符数组(x)放在字符列表中。如错误消息所示。如果您想将一个char数组复制到另一个char数组中,请参阅strcat函数系列。

下一个错误涉及sizeof。它不计算字符串的长度。当你现在使用它的时候,它会给出一个4:缓冲区指针的大小。有一个strlen函数用于获取C字符串的长度。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24254183

复制
相关文章

相似问题

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