gpt4 book ai didi

c - 如何将 void 指针中的信息放入 char 数组?

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:39 26 4
gpt4 key购买 nike

<分区>

我试图将空指针中的信息放入 char 数组中,以跟踪文件开头的内容,而不是每次我想写入文件时都必须读取文件以确保非法内容没有被写入。

例子:

unsigned long write_file_at(File file, void *data, unsigned long num_bytes,
SeekAnchor start, long offset) {
fserror=NONE;
if (! file->fp || ! seek_file(file, start, offset)) {
fserror=WRITE_FAILED;
}
else if (offset == 0L && !strncmp(data, "MZ", 2) && start == BEGINNING_OF_FILE){
fserror = ILLEGAL_MZ;

这按预期工作得很好。然后,如果写入是合法的并且它写入文件的第一个字节,我想放置它们的字节,它写入一个 char 数组以跟踪写入

稍后在同一写入函数中的示例:(有点忽略长if语句,还是wip)

 else{
bytes_written=fwrite(data, 1, num_bytes, file->fp);
if ((num_bytes == 1 || num_bytes == 2) && (start == BEGINNING_OF_FILE
|| (start == END_OF_FILE && offset == -(ftell\
(file->fp)))
|| (start == CURRENT_POSITION && offset == -(\
ftell(file->fp))))){
file->mem[0] = (char *)data;} //This is what I am struggling with


if (bytes_written < num_bytes) {
fserror=WRITE_FAILED;
}
}
return bytes_written;
}

如何从数据指针中提取第一个字母/字节并将其放入一个字符数组中?

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