我有一个结构如 "[first something]=[second something"] 的字符串
我认为 sscanf 将是一种将它们分开的方法!
但是,scan 永远不会使用 %n 正确报告偏移量。
这行代码非常类似于:
char data[100];
char source[] = "username=katy"
int offset=-1;
sscanf([source],"%[^=],%s%n",data,&offset)
printf("sscanf is reporting %s with an offset of %i\n"
)
但输出总是看起来像:
sscanf is reporting username with an offset of -1
有人可以为我解决这个问题吗?
(是的,我知道这会让我们容易出现缓冲区溢出错误——这在代码中稍早一点的时候就被证明了......)