事实就是这样~~太神奇了
#include<iostream>
#include<string>
using namespace std;
int main()
{const char *s="huxiao";
char Name[30];
strcpy_s(Name,s);
cout<<Name;
}
没有Bug
const char *ss="huxiao";
char Name[40];
strcpy_s(Name,ss);
ss为某个类的构造函数的参数
Name为该类的数据成员
怎么就会出现the buffer is too small!的bug!
而当Name[45]时,仍是如此,
改为Name[46]时,刚好,此时没有bug
敢问是怎么回事?
谢谢
[解决办法]
先
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
右边Visual C++ 2010 Express下面的Select language...下拉选‘简体中文’,再按Install Now按钮
再参考
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\strcpy_s.c
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\tcscpy_s.inl