gpt4 book ai didi

c - Sscanf 用于命令行获取的字符串

转载 作者:行者123 更新时间:2023-11-30 14:55:38 25 4
gpt4 key购买 nike

我对这个项目有疑问,我尝试在论坛上搜索答案,但什么也没找到。

struct orario {
int hours;
int minutes;
int seconds;
char *format;
}orario1;

int main(int argc, char *argv[]) {
sscanf(argv[1],"%d:%d:%d %s",&orario1.hours,&orario1.minutes,&orario1.seconds,orario1.format);

printf("%d:%d:%d %s",orario1.hours,orario1.minutes,orario1.seconds,orario1.format);

输出的数字部分是正确的,但字符串(例如 AM 或 PM)是意外的(空)。

我无法识别我的错误,有人可以找到并告诉我吗?!

谢谢。

最佳答案

您的代码具有未定义的行为,因为 format 是一个未初始化的指针。

使用

char format[8];

%7s。并在依赖有值的变量之前检查返回值。

关于c - Sscanf 用于命令行获取的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45676007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com