gpt4 book ai didi

c - write() 错误地址

转载 作者:IT王子 更新时间:2023-10-29 00:51:10 27 4
gpt4 key购买 nike

我正在尝试写出定义为的字符串的大小(以字节为单位)

#define PATHA "/tmp/matrix_a"

使用代码

rtn=write(data,(strlen(PATHA)*sizeof(char)),sizeof(int));
if(rtn < 0)
perror("Writing data_file 2 ");

我回来了 Writing data_file 2 : Bad address

这个错误地址到底是怎么回事?数据文件描述符是打开的,并在上述代码段前后正确写入。要写入文件 data 的数据需要是原始数据,而不是 ASCII。

我也尝试过将字符串定义为具有相同问题的 char[]

最佳答案

write() 的第二个参数是您要写入的字节的地址,但您传递的是您要写入的字节本身。为了获得地址,您必须将这些字节存储在一个变量中(您不能获取表达式结果的地址)。例如:

size_t patha_len = strlen(PATHA);

rtn = write(data, &patha_len, sizeof patha_len);

关于c - write() 错误地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13733776/

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