gpt4 book ai didi

c - 如何在二进制文件中写入指针? (C)

转载 作者:行者123 更新时间:2023-11-30 16:25:53 26 4
gpt4 key购买 nike

我不太习惯使用文件,但是当需要编写字符串或普通变量时,我认为将它们放入二进制文件中没有任何问题。但是,我曾多次尝试将指针(实际上是字符串数组)的内容保存在 b 文件中,但我的编译器始终显示错误或崩溃。有人知道如何让它发挥作用吗?

代码的简化版本如下:

int main(){
int n;
scanf("%d", &n);

char **campo2 = (char**)malloc(n*sizeof(char*));
campo2[i] = (char*)malloc(20*sizeof(char));

for(int i = 0; i< n; i++){
campo2[i] = foo();
}

FILE *binaryFile = fopen("file.bin", "wb");

if (binaryFile =! NULL){
for(int i = 0;i<n;i++){
fwrite(campo2[i], 20*sizeof(char),1,binaryFile);
}
}

return 0;
}

最佳答案

你可能想要类似的东西

char * foo(int i)
{
char *s= malloc(20);
fprintf(s,"%018d\r\n",i);
return s;
}
int main()
{
int n;
scanf("%d", &n);

char **campo2 = (char**)malloc(n*sizeof(char*));

for(int i = 0; i< n; i++){
campo2[i] = foo(i);
}

FILE *binaryFile = fopen("file.bin", "wb");

if (binaryFile =! NULL){
for(int i = 0;i<n;i++){
fwrite(campo2[i], 20,1,binaryFile);
}
fclose(binaryFile);
}
return 0;
}

关于c - 如何在二进制文件中写入指针? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239535/

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