c - 如何使用 sscanf 获取单个字符
问题描述
我正在尝试sscanf
将字符串中的单个字符转换为其相应的十六进制值。
#include <stdio.h>
int main () {
char *str = "DEADBEEF";
int num;
sscanf(str[2],"%x",&num);
printf("%x",num);
}
当我尝试编译时,我收到一个警告,因为sscanf
正在寻找一个char *
而不是一个char
. 我可以使用与号来获取字符的地址(即&str[2]
),但这会读取字符串的其余部分,直到遇到\0
.
解决方案
推荐阅读
- unit-testing - 我想从无人机 CI 配置中排除 codecov 中的特定文件
- java - 在我的 webApp 上使用 Java 创建一个新 URL 返回 404。如何正确设置它?
- android - 使用 CameraConstrainedHighSpeedCaptureSession 进行慢动作视频录制无法在 Android 11 设备上运行
- c# - 每秒打印消息数
- visual-studio-code - 如何隐藏可视 stdio 代码中的蓝色边框?
- ios - SwiftUI:UIScrollView UIViewRepersentable 包装器的动画/过渡不起作用
- regression - 关于两个矩阵之间最小二乘回归的问题
- ios - IOS 版本更新到 IOS 15 后应用程序无法运行
- css - BoxDecoration 的 boxShadow 属性的集合是什么意思?
- linux - IntelliJ idea 认为我的项目是外部的