gpt4 book ai didi

c - 使用 write() 在 C 中写入文本

转载 作者:行者123 更新时间:2023-12-02 22:17:48 27 4
gpt4 key购买 nike

我想将文本写入文件。我必须使用 write() 而不是 fwrite()

void write(char *buffer, char *target){
int fh;
if((fh=open(target, O_RDWR)) >= 0){
printf("It works\n");
} else {
printf("Cannot open\n");
}

if((write(fh, buffer, sizeof(buffer))) >= 0){
printf("-> It works\n");
} else {
printf("Cannot write\n");
}
close(fh);
}

我可以写入文件,但无法读取。缓冲区包含一些文本,但是当我打开目标文件时,我得到的只是\00\00\00\00

我听说可以使用 fopen 和 fwrite,但我必须使用 open() 和 write()。我希望有人能帮助我。

最佳答案

  if((write(fh, buffer, sizeof(buffer))) >= 0){

您需要将缓冲区的长度传递给您的函数。 sizeof(buffer) 将返回char* 数据类型的大小(4(32 位)或 8(64 位)字节)。

关于c - 使用 write() 在 C 中写入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188781/

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