说我有一个像这样的字符串:
Hello World - this is a line of textCOLOR="4"
并且此字符串存储在buf[1000]
中>
您可以看到此字符串具有COLOR="n"
格式的颜色标签。该数字是需要提取的数字(可以在1到56之间)并分配给int
变量。我希望此标记能够位于字符串中的任何位置。
我可以运行以下代码来提取颜色值:
int colorNumber = 1; //default value if (scanf(buf, "%*[^\"]\"%2d[^\"]\"", &colorNumber)) { // work with number }
并且效果很好,但是如果字符串中包含数字或引号,则scanf将无法生成该数字。
我已经尝试了第二个scanf参数的一些变体,但是没有用。我尝试了"%*[^\"]COLOR=\"%2d[^\"]\""
,但似乎根本不起作用。
我已经浏览了scanf的手册页,但是在那儿也找不到我想要的东西。
也许scanf不是正确的工具吗?如果需要,我愿意尝试其他库/功能。
说我有一个像这样的字符串:Hello World-这是一行textCOLOR =“ 4”,并且该字符串存储在buf [1000]中,如您所见,该字符串具有颜色标签,格式为COLOR =“ n“。 ...
尝试