Я новичок в C++, и я хотел бы сделать простые вещи, такие как написание на диск содержимого символа []
Мне тяжело это делать.
Вот мой код:
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) в список символов. Как говорится в сообщении об ошибке. Если вы хотите скопировать массив символов в другой массив символов, см. Семейство функций strcat.
Следующая ошибка включает sizeof. Он не вычисляет длину строки. Поскольку вы используете его сейчас, он даст 4: размер указателя буфера. Существует функция strlen для получения длины строки C.
char buffer[] = {x}
делал? Сделать копию массива?