当前位置: 技术问答>linux和unix
短程序 求助 谢谢 在线!!
来源: 互联网 发布时间:2016-05-21
本文导语: gcc编译通过了 ,但是运行的时候出现栈error 请教为什么 #include #include int main() { iconv_t cd=NULL; char ch1[5]="1111"; char ch2[100]; int num1=4; int num2=99; char** temp1=&ch1;...
gcc编译通过了 ,但是运行的时候出现栈error 请教为什么
#include
#include
int main()
{
iconv_t cd=NULL;
char ch1[5]="1111";
char ch2[100];
int num1=4;
int num2=99;
char** temp1=&ch1;
char** temp2=&ch2;
memset(ch2,0,sizeof(ch2));
// memset();
cd=iconv_open("GB2312","UTF-8");
if(cd==0) return -1;
iconv(cd,temp1,&num1,temp2,&num2);
iconv_close(cd);
return 0;
}
|
汗,居然不知道malloc.
原型:extern void *malloc(unsigned int num_bytes);
用法:#include
或#include
功能:分配长度为num_bytes字节的内存块
说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
当内存不再使用时,应使用free()函数将内存块释放。
原型:extern void *malloc(unsigned int num_bytes);
用法:#include
或#include
功能:分配长度为num_bytes字节的内存块
说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
当内存不再使用时,应使用free()函数将内存块释放。
|
#include
#include
#include
int main()
{
iconv_t cd=NULL;
char *ch1="1111";
char *ch2=(char *)malloc(100*sizeof(char));
size_t num1=4;
size_t num2=99;
char** temp1=&ch1;
char** temp2=&ch2;
memset(ch2,0,sizeof(ch2));
// memset();
cd=iconv_open("GB2312","UTF-8");
if(cd==0) return -1;
iconv(cd,temp1,&num1,temp2,&num2);
iconv_close(cd);
return 0;
}
#include
#include
int main()
{
iconv_t cd=NULL;
char *ch1="1111";
char *ch2=(char *)malloc(100*sizeof(char));
size_t num1=4;
size_t num2=99;
char** temp1=&ch1;
char** temp2=&ch2;
memset(ch2,0,sizeof(ch2));
// memset();
cd=iconv_open("GB2312","UTF-8");
if(cd==0) return -1;
iconv(cd,temp1,&num1,temp2,&num2);
iconv_close(cd);
return 0;
}
|
动态申请内存