带字母、空格和整数的sscanf
我试图使用sscanf从文本文件中读取一行,然后将其中的部分保存到不同的变量中。 文本文件如下所示:带字母、空格和整数的sscanf,c,scanf,C,Scanf,我试图使用sscanf从文本文件中读取一行,然后将其中的部分保存到不同的变量中。 文本文件如下所示: name 12345 因此,我编写了以下代码: sscanf(buffer, "%s %d", name, &number); 这很好,但当名称之间有空格时,我该怎么办?e、 g name lastname 12345 还是偶数 name the3rd 12345 我的sscanf在这两个例子中不起作用。我尝试使用[^]但没有成功,甚至%*s%[^0-9]%d,但也没有成功 任何
name 12345
因此,我编写了以下代码:
sscanf(buffer, "%s %d", name, &number);
这很好,但当名称之间有空格时,我该怎么办?e、 g
name lastname 12345
还是偶数
name the3rd 12345
我的sscanf在这两个例子中不起作用。我尝试使用[^]但没有成功,甚至%*s%[^0-9]%d,但也没有成功
任何帮助都将不胜感激 我建议不要试图强行解决这个问题。如果
sscanf()
相反,我建议您使用实际的正则表达式(如果您有
,这很容易),或者使用手动解析技术来查找最后一个空格并拆分该空格上的字符串。它可以像strrchr(缓冲区,”)一样简单代码>毕竟。请注意,与sscanf()
和friends一起使用的格式描述符字符串在任何方面都不是正则表达式。它可能看起来很相似(如果你眯着眼睛,在光线条件可疑的情况下),但它确实不是一个正则表达式。这是特定于这些功能的。好的,谢谢你提供的信息!更新了问题标题和标签。