我是 C++ 的新手,我想做一些简单的事情,比如将 char[] 的内容写入磁盘
我很难做到。
这是我的代码:
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”类型的实体
最佳答案
您不能将字符数组 (x) 放入字符列表中。正如错误信息所说。如果您想将一个 char 数组复制到另一个 char 数组,请参阅 strcat 系列函数。
下一个错误涉及 sizeof。它不计算字符串的长度。当您现在使用它时,它将给出 4:缓冲区指针的大小。有一个 strlen 函数用于获取 C 字符串的长度。
关于c++ - char* 类型的值不能用于初始化 "char"类型的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254183/