它的时间结束但无论如何我想要完成这个问题。我想读取二进制文件缓冲区,后来我想将此缓冲区复制到数组。我这样做;
int i=0;
char *buffer;
buffer=(char *)malloc(filelen+1); //filelen is length of binary file
while()
{
fread(buffer,100,1,filepointer); //filepointer is input binary file pointer,i wanna read 100 byte
strcpy(tup[i],buffer); //tup[] is char array.i want copy buffer to in this array
i++;
}
我在strcpy行出错了你无法将指针复制到类似的整数。
感谢名单。
答案 0 :(得分:2)
我想你想写:
strcpy(&tup[i],buffer);
但是还有许多其他问题。
memcpy
代替(使用已知的计算长度)tup
答案 1 :(得分:1)
必须是:
strcpy(tup,buffer);
如果tup是char* tup
。
此外,您可以在使用buffer[filelen]=0;
为malloc()
分配内存后使用buffer
,这将解决'\0'
终止问题。