gpt4 book ai didi

c - 这里可能存在字节序问题吗?

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

我想在 write 函数的帮助下编写一个函数,例如 putchar

#include <unistd.h>

ssize_t f(int fd, int c) {
return write(fd, &c, 1);
}

但我认为这里可能存在字节序问题,不是吗?那么我应该使用 sizeof (int) 吗?我有点困惑,我不知道如何处理(需要转换为 unsigned char ?)。

最佳答案

是的,这里可能存在字节顺序问题。治愈就是通过c作为unsigned char而不是 int .

ssize_t
f(int fd, unsigned char c)
{
return write(fd, &c, 1);
}

<stdio.h>例程适用于 int这主要是出于历史原因。它们非常古老,包含许多现在被认为是不正确的界面设计决策。不要将它们用作模板。

关于c - 这里可能存在字节序问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145998/

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