gpt4 book ai didi

c - 如何将存储在缓冲区中的字节转换为变量?

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:14 25 4
gpt4 key购买 nike

所以我正在读取一个文件描述符,它包含一个原始字节格式的 int 变量。

所以我在做:

char buffer[sizeof(int)];
ssize_t sizeOfFile = read(sock_fd, buffer, sizeof(int));

int extractedInt = ???;

如何将该缓冲区转换为整数?我在考虑 memcpy 但想知道是否有更好的方法。

最佳答案

你可以直接读取一个整数

int extractedInt;
ssize_t sizeOfFile = read(sock_fd, &extractedInt, sizeof(int));

read 将读取一个 int 字节的大小,并将它们存储到 extractedInt 中。

如果您的 int 实际上是您要转换为 int 的文件中的字符串,则过程会有点不同。

#define SIZE 20

char buffer[SIZE]; // ensure there is enough space for a string containing an integer
ssize_t sizeOfFile = read(sock_fd, buffer, SIZE);

int extractedInt = atoi(buffer); // convert string to integer

关于c - 如何将存储在缓冲区中的字节转换为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47737550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com