-1

我将如何找到sscanf()我从字符串扫描到某个字符而不实际存储它的位置的长度?

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

2 回答 2

3

您可以使用 取消转换规范中的分配*,如下所示:

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

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

于 2013-09-17T17:56:42.990 回答
1

听起来您正在寻找strchr(3)

int length = strchr(stringToBeTested, upUntilThis) - stringToBeTested;
于 2013-09-17T17:52:33.983 回答