【发布时间】:2019-03-11 16:06:50
【问题描述】:
在我正在研究的 c++ 解决方案中,我有一个返回字符串引用的函数。比如const std::string& getData() const {return mData;},mData 是std::string mData;。现在我想将其转换为uint8_t 数组以将其传递给另一个函数指针。
/* in another header -> typedef uint8_t U8; */
const std::string& d = frame.getData();
U8 char_array[d.length()];
/* here I want to put the d char by char in char_array*/
strcpy 已弃用,所以我使用 strcpy_s 就像 strcpy_s(char_array, d); 一样
我当然会得到couldn't match type char(&)[_size] against unsigned char[]
静态或重新解释转换为char* 也不起作用。
【问题讨论】:
-
strcpy什么时候被弃用了? -
那个字符串是什么?
-
您可以使用
std::string::data()获取指向字符串数据的指针。 -
strcpy_s不是标准的 c++,而是 MSVC 特有的,之前不知道,必须查一下,不知道为什么你认为这无关紧要...... -
@EtiennedeMartel 我知道,那是 C 而不是 C++
标签: c++ visual-c++ stdstring uint8t