我想分配一个char*
char*
,如果我使用strcpy
我得到几个运行时间内存问题,所以我通过使用= operator
简单分配来解决它。 任何人都可以解释在使用strcpy
之前应该准备的内容以避免内存问题。我怎样才能安全地使用strcpy
编辑:
int Function(const char* K,char* FileIN,char* FileOut,int DC)
{
char *fic_in,*n_fic,*fic_out,*fic_dec;
unsigned char k[17];
fic_in = (char*)malloc(60*sizeof(char));
strcpy((char*)k,K);
//strcpy(fic_in,FileIN); //I remove this one
fic_in=FileIN; //and replace it by this
...
http://stackoverflow.com/questions/1258550/why-should-you-use-strncpy-instead-of-strcpy –
您是否预先在目标char *中预留了必要的空间?根据参考(http://www.cplusplus.com/reference/clibrary/cstring/strcpy/): “为避免溢出,目标指向的数组大小应足够长以包含与源相同的C字符串(包括终止的空字符),并且不应该在内存中与源重叠。“ – dunadar
由于技术上的困难,我们暂时无法阅读您的想法。请显示代码。 – Rost