在 C 中从 uint8_t * 转换为 char *

标签 c casting char type-conversion uint8t

我正在使用 Atmel Studio 在 C 中编程(对于那些不熟悉它的人来说,它用于对微 Controller (如 arduino)进行编程。你不能简单地打印,你必须将数据串行发送到终端等应用程序。)

我到目前为止:

uint8_t * stackHolder;
char buffer[128];
stackHolder = &buffer[127];

假设 buffer[127] 的地址恰好是 0x207。我可以使用调试器看到 stackHolder 的值为 0x207。我有一个接受 char * 并打印它的函数。所以我的问题是如何将 uint8_t * stackHolder 转换为 char * 以便将其传递给我的打印函数?

最佳答案

How can I convert the uint8_t * stackHolder into a char *?

通过 casting :

print((char*) stackHolder);

关于在 C 中从 uint8_t * 转换为 char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42961443/

相关文章:

c - 发生编译错误后"Permission denied"

PHP:依赖于语言环境的 float 到字符串转换

c - 使用 C 返回数组

c - 使用strcpy时出现段错误?

c++ - 从 ‘char*’到 ‘char’的无效转换[-fpermissive]如何打印?但是在变量里面

iphone - Objective C 方法和语法

C:对另一个文件中的函数的 undefined reference

c++ - 编写自定义脚本语言

Java 泛型 : Array Casting

c# - 类型转换是如何工作的?