char a[200] = { 0 };
char tst[20] = "aaaa 123\n";
int i;
sscanf_s(tst, "%s %d",a, &i);
printf("reasult:%s %d", a,i);
无论我使用
char tst[20] = "aaaa 123\n";
还是char* tst = "aaaa 123\n";
,它总是显示访问冲突。
我需要将一个字符串与一个字符串分开。但是为什么会这样呢?
最佳答案
sscanf_s
要求%c
,%s
和%[
有两个参数,第二个是传递的缓冲区的大小。以下应该工作:
sscanf_s(tst, "%s %d", a, sizeof(a), &i);