在 sscanf 中转义方括号 ]

2023-12-25

我想扫描像这样的行

"[25, 28] => 34"

我写了一个小程序来测试一下:

#include <cstdlib>
#include <iostream>

int main() {
        char* line = "[25, 28] => 34";
        char a1[100],  a2[100];
        int i;
        sscanf(line, "[%[^,], %[^\]] => %i", a1, a2, &i);
        std::cout << "a1 = " << a1 <<"\na2 = " << a2 << "\ni = "<<i <<"\n";
        return 0;
}

编译这个给出

warning: unknown escape sequence '\]'

和输出

a1 = 25
a2 = 28
i = -1073746244

如果我把它改成

sscanf(line, "[%[^,], %[^]] => %i", a1, a2, &i);

我没有收到编译器投诉,但仍然

a1 = 25
a2 = 28
i = -1073746244

我知道问题出在第二个标记中,因为

sscanf(line, "[%[^,], %[0123456789]] => %i", a1, a2, &i);

gives

a1 = 25
a2 = 28
i = 34

但我想对第二个令牌使用终止条件。我怎么做?


You want

sscanf(line, "[%[^,], %[^]]] => %i", a1, a2, &i);

注意连续三个]字符——第一个是你不想匹配的字符%[设置,第二个结束该组,从%[第三个匹配]输入中的字符

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 sscanf 中转义方括号 ] 的相关文章

随机推荐

  • Android:动画循环进度可绘制

    我需要一个看起来像旋转进度圈的可绘制对象 我想在 GridView 内的 ImageView 等中使用该可绘制对象 因此 根据其他帖子 我从文件夹 sdk platforms android xx data res drawable 中获取
  • Tensorflow错误:DLL加载失败:找不到指定的过程

    我尝试在我的windows8 1 64位python3 6 0中使用pip安装tensorflow cpu 使用pip install tensorflow但它给了我这个错误 Traceback most recent call last
  • jq绘图到图像

    我知道这个问题已经存在 但我认为它没有得到正确的回答 到目前为止 我正在使用这种方法 对于我必须做的任何情节 它都 100 有效 请评论代码的效率等 我想知道其中是否还有错误 非常感谢 function jqplotToImg obj va
  • 哪里应该使用PageViewer?

    我已经实施了浏览器和数量Fragment作为孩子 这里每个孩子都会覆盖自己的onAttach onCreateView onViewCreated and setUserVisibleHint 在我的应用程序中 导航行为是随机的 并非每次都
  • 是否可以将矩阵映射到 igraph 对象?

    我有一个矩阵A定义自相交多边形的有序线段 A lt t matrix c 0 0 1 0 1 2 2 2 2 1 0 1 0 4 1 4 1 2 2 2 2 3 0 3 0 0 nrow 2 par mfrow c 1 3 plot A c
  • 使用Python向远程进程发送信号

    有两台机器 其中一台有脚本wait for signal sh 第二个有一个名为controller py 每个脚本的代码如下所示 目的controller py是产生一个调用的子进程wait for signal sh脚本通过ssh 当控
  • UILabel:如何设置字体大小?

    如何设置字体大小UILabel My code UILabel myView UILabel alloc initWithFrame RectFrame myView setBackgroundColor UIColor blueColor
  • 失去焦点时窗口闪烁?

    我一直在开发基于 C 的 Windows 窗体应用程序 我需要一些帮助 我正在尝试重新创建大多数 Windows 应用程序在窗体失去父窗体焦点时出现的窗口闪烁 我可以解释这一点的最好方法是打开计算器 打开帮助窗口并尝试单击计算器 然后帮助窗
  • 如何获取正在运行的 EC2 现货实例的价格?

    我正在尝试使用 boto3 api 创建 ec2 现货实例 到目前为止 我能够获取现货实例历史价格 启动现货实例等 但我不知道如何使用 boto api 获取我们为现货实例支付的价格 有人知道怎么做吗 Thanks Update See S
  • 如何检查 CMakeLists.txt 中的 SDL2_ttf?

    我目前正在使用 SDL2 ttf 库编写一个 SDL2 程序 并希望在 CMakeLists txt 中添加对其的检查 我怎么做 我正在使用 CMake 3 1 FindSDL ttf 不适用于 SDL2 因此您必须使用第三方选项 我用过这
  • 每天更改图标

    就像 iPhone 和 iPod 上的日历应用程序一样 如何每天更改图标 我认为这是针对 iOS 应用程序的 答案是 你不能 日历应用程序可以访问 iOS 中的功能 而我们普通开发人员无法访问这些功能 你也许可以用越狱的手机来实现这一点 但
  • 在 R Markdown 文档中,“包含”docx 输出?

    在下面的 Rmd 中我有includes in header 用于 pdf 输出和includes before body 用于 docx 输出 docx 输出有类似的东西吗 我当前的黑客是包括生成 docx 输出时有条件地代码块 但我不想
  • CL 格式秘诀:将 nil 作为值处理

    我一直在寻找格式化食谱 但我找不到我要找的东西 format nil CONTROL STRING day name num apples 假设我不想改变上面形式中的参数 只是CONTROL STRING day and num apple
  • Google 地图 API V3 - 自定义图块

    我目前正在开发 Google Maps API V3here http apps humannetworklabs com GoogleMapAPI html 如果在 21 到 23 之间缩放 地图上将会出现图像叠加 该图像加载时间太长 我
  • Android 振动已弃用。如何在 Android>= API 26 中使用 VibrationEffect?

    我正在使用安卓的VIBRATOR SERVICE为按钮触摸提供触觉反馈 Vibrator getSystemService VIBRATOR SERVICE vibrate 300 Android Studio 给我警告该方法vibrate
  • Java AES CBC 解密

    PHP 加密函数 privateKey 1234567812345678 iv 1234567812345678 data Test string encrypted mcrypt encrypt MCRYPT RIJNDAEL 128 p
  • 在 HMM 中查找前 k 个维特比路径

    我需要编写一个算法来查找 HMM 中的前 k 个维特比路径 使用常规维特比算法来查找最佳路径 我想我可能需要为每个状态 N 保存一个大小为 k 的列表 V t N 其中包含以状态 N 结尾的前 K 个路径 但我不太确定如何跟踪该列表 有任何
  • 如何在 PHP、HTML 标签中回显 [重复]

    这个问题在这里已经有答案了 我在发帖之前经历过这个 如何在 PHP 中回显 HTML https stackoverflow com questions 1100354 easiest way to echo html in php 而我仍
  • SwiftUI:使列表项的剩余区域检测点击[重复]

    这个问题在这里已经有答案了 我的 macOS 应用程序上有一个基于自定义导航系统构建的导航侧边栏 要导航到我检测到的不同视图 onTapGesture列表项的 s 如下所示 List selection selection ForEach
  • 在 sscanf 中转义方括号 ]

    我想扫描像这样的行 25 28 gt 34 我写了一个小程序来测试一下 include