我是C编程的新手。我试着在网上研究这个问题,但是找不到答案...如何在C中访问数组的一部分?例如,
int Data[4]
int Input[32]这样做的语法是什么: Data = Input12:15
Data[0] = Input[12]
Data[1] = Input[13]
Data[2] = Input[14]
Data[3] = Input[15]实际上,我正在尝试使用TCP套接字填充数组的一部分:
recv(MySocket, YRaw[indx:indx+1024], sizeChunk, 0)我希望接收到的数据放在YRaw数组中,从数组索引'indx‘到'indx+1024’。
提前谢谢你,gkk
发布于 2010-08-28 06:37:48
要将内容从一个数组复制到另一个数组,可以使用memcpy
#include "string.h"
memcpy(&input[12], &data[0], 4*sizeof(int)); /* source, destination, number of bytes to copy */在recv的情况下,您可以做同样的事情-传入指向开始的指针和字节数:
recv(sock, &YRaw[indx], sizeChunk*sizeof(int), 0); /* sizeChunk is hopefully 1024 */sizeof编辑:我忘记了第二个例子中的,所以我添加了它。
发布于 2010-08-28 06:36:35
可以使用memcpy
发布于 2010-08-28 06:44:06
你可以使用指针算法:
recv(MySocket, YRaw + indx, sizeof(int) * 1024, 0);在本例中,recv将把第一个int放在YRawindx,第二个放在YRawindx + 1,依此类推。
在本例中,我假设您希望从套接字中读取整数。
另外,别忘了检查返回值。
https://stackoverflow.com/questions/3588566
复制相似问题