正确使用sscanf功能

时间:2015-08-18 19:15:36

标签: c++ standard-library

以下代码在我更改

时崩溃或无法正常工作

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

实际输出:

  

缓冲区溢出。

0 个答案:

没有答案