当request_token.size()
大于LEN
时安全吗?
char dst[LEN];
memcpy(dst, request_token.c_str(), request_token.size());
不,它不安全;你会造成缓冲区溢出。原因是,除了在第三个参数中传递的大小之外,memcpy
无法知道目标缓冲区的大小。
不,肯定不会,这会导致缓冲区溢出并触发未定义的行为,这将导致各种糟糕的事情,包括但不限于数据损坏和程序崩溃。
不,它不安全。阅读以下内容:http://msdn.microsoft.com/en-us/library/dswaw1wk(VS.80).aspx
使用memcpy_s():http://msdn.microsoft.com/en-us/library/dswaw1wk(VS.80).aspx
否,您最终将尝试写入无效的内存位置,从而导致未定义的行为。