C中sscanf函数的正确格式

 别他妈给脸不要脸别动老子东西 发布于 2023-02-07 15:04

我有一个字符串"h264:640x480:4:30000".我使用sscanf函数如下.

char res[16] = { 0 };
int quality = 0;
int fps = 0;
sscanf(temp1, "h264:%s:%d:%d", res, &quality, &fps);

执行此功能时.我期待"res"中的"640x480","质量"中的"4"和"fps"中的"3000".但它将整个字符串复制到"res"中,其他两个变量值保持为0.

这个问题的正确格式是什么.

1 个回答
  • 使用以下sscanf()字符串格式

    sscanf(temp1, "h264:%[^:]:%d:%d", res, &quality, &fps);
    

    %s将捕获字符串中的所有字符,直到它找到一个空格或到达字符串的末尾.所以%s不是一个好选择.

    %[^:]将捕获字符串中的所有字符,直到它找到':'charachter或到达字符串的末尾

    2023-02-07 15:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有