c - 查找 sscanf() 的长度而不存储结果

标签 c scanf

如何查找 sscanf() 的长度,我正在从字符串扫描到某个字符,而不实际存储它?

sscanf(stringToBeTested, "%[upUntilThis]", StoreToThisString)
strlen(sscanf(stringToBeTested, "%[upUntilThis]", StoreToThisString))

最佳答案

您可以使用 * 抑制转换规范中的赋值,如下所示:

int index_at_end = -1;
sscanf(stringToBeTested, "%*[^upUntilThis]%n", &index_at_end);

%n 告诉您在处理过程中到该点扫描的字节数。请注意,%n 操作不计算在内,因此 sscanf() 将返回 0 个成功转换。这可能会让生活变得太棘手。

关于c - 查找 sscanf() 的长度而不存储结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856541/

相关文章:

c - 如何在C中扫描多维数组的一维?

c - 为什么在 Linux 中没有库说明符就不会出错?

编译AVX2程序

C:这段代码如何导致释放 malloc 空间?

c - 按 Enter 键只会在 C 中输入另一行

c - 关于scanf_s如何检测C中字符的问题

c - 寻找新位的优化方法

c - 将作业分配给线程 - MPI

arrays - 如何使用 scanf 将元素接收到数组中?

C scanf() 函数,如何在 EOF/EOT 处终止?