c - 无法将 2D Char 数组写入 C 中的文件
问题描述
我对 C 语言并不完全熟悉,但我正在尝试将 2D 字符数组写入文件,但遇到了一些问题。非常感谢任何和所有帮助。如果需要任何其他信息/上下文,请告诉我。
错误
malloc.c:2401: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed. Aborted (core dumped)
我的数组声明
#define MAX_LINE 80
#define HISTORY_SIZE 10
char history[HISTORY_SIZE][MAX_LINE];
我的写功能
void writeHistory(){
char *fname = getHistoryFileName();
FILE *fp = fopen(fname, "wb");
if (!fp){
printf("Unable to write to history file");
exit(1);
}
//Write to the file
fwrite(history, sizeof(history), 1, fp);
fclose(fp);
}
解决方案
推荐阅读
- python - 如何验证另一个变量中的变量
- git - 如何将 TFVC (2008)(包括历史)上的所有内容转移到 Git 并最终转移到 GitHub?
- reactjs - react-router-dom 和 Typescript:需要类型注释。ts(2742)
- python - 在带有 python 的 Mac OS 上,如何仅列出可写卷?
- spring-boot - 如何在 Spring Boot 的 json 日志中记录未捕获的异常?
- .net-core - Swashbuckle 5.0 - “PathItem”的等价物
- groovy - 在 Groovy 中 - 如何迭代列表中的版本?
- javascript - 使用 Hermes 引擎测量性能
- html - 通过缩小窗口来保持绝对元素的位置
- python - 无法从网页中抓取表格数据