以下代码在我更改
时崩溃或无法正常工作 sscanf(data, "%s %s", w1, w2);
到
sscanf(data, "%4s %5s", w1, w2);
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main(void)
{
const char *data = " w2o@raaaaa , anun , anun56";
char w1[5], w2[6], w3[4];
sscanf(data, "%s %s", w1, w2);
cout<<w1<<endl;
cout<<w2<<endl;
return(0);
}
是否有任何格式完全符合&#34;%s%s&#34;,但缓冲区不会溢出。
所需的输出将是:
w2o @
anun
实际输出:
缓冲区溢出。