软件注册站
热情软件屋

 
发现所分配的空间不够的时候,如何重新分配
编号: QA004889    
建立日期: 2004年9月4日 最后修改日期: 2004年9月4日
所属类别: C/C++ - 其他方面
   
    操作系统: windows xp
    编程工具: visual c++
    问题: 在用动态(NEW)分配空间的时候,但发现所分配的空间不够的时候,想重新再分配,即是在后面添加空间的意思。我不知道用什么头文件和什么函数。希望你能给我指点。
    水平: 刚入门
    (李林杰)
   
    C语言中可以使用realloc调整空间大小,但对于new/delete来说,没有对应的操作符。建议你改用malloc分配内存,free释放内存,需要的时候用realloc调整空间大小。例子:
    char* p = (char*)malloc(sizeof(char) * 12);
    
strcpy(p,"hello world");
    
cout << p << "\r\n";
    
p = (char*)realloc(p, sizeof(char) * 50);
    
strcat(p," from china-askpro.com");
    
cout << p << "\r\n";
    
free(p);
    
    

    
    相关问题:
    QA004255 "char *str = new char[100];为什么sizeof(str)==4?"

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio