c/c++语言开发共享C ++格式字符串的C ++等价物

我有一个从键盘读取的C程序,如下所示:

scanf("%*[ tn]"%[^A-Za-z]%[^"]"", ps1, ps2); 

为了更好地理解该指令的作用,我们将格式字符串拆分如下:

%*[ tn]" =>读取所有空格,制表符和换行符( [ tn] ),但不将它们存储在任何变量中(因此为’ * ‘),并将继续读取,直到遇到双精度引用( " ),但双引号不输入。

一旦scanf()找到双引号,读取所有不是字母的字符到ps1。 这是通过……完成的

%[^A-Za-z] =>输入任何不是大写字母’A’到’Z’和小写字母’a’到’z’的东西。

%[^"]" =>读取所有剩余的字符,但不包括ps2的双引号( [^"] ),字符串必须以双引号( " )结束,但双引号没有输入。

有人可以告诉我如何在C ++中做同样的事情

谢谢

    C ++支持scanf函数。 没有简单的替代方法,特别是如果你想用所有的怪癖复制scanf()的确切语义。

    但请注意,您的代码有几个问题:

    由于所有这些原因,在C中首先使用fgets()读取一行输入并使用sscanf()或手动解析该行将更加安全和可预测。

    在C ++中,您肯定希望使用定义的std::regex包。

    需要了解更多c/c++开发分享C ++格式字符串的C ++等价物,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享C ++格式字符串的C ++等价物相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980702.html

      (0)
      上一篇 2021年12月14日
      下一篇 2021年12月14日

      精彩推荐