c - 字符串上的 fscanf 导致分段错误
问题描述
我有一个三行输入文件。第一行是一个整数,第二行是带空格的整数,第三行是一个字符串。
我必须扫描它们而不是根据整数操作字符串。
我的问题是我可以扫描整数,但是扫描字符串会导致 fclose 出现分段错误。
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE* in = fopen("be.txt", "r");
FILE* out = fopen("ki.txt", "w");
if(in==NULL){
printf("Error opening in!\n");
return -1;
}
if(out==NULL){
printf("Error opening out!\n");
return -1;
}
int brknglength, i;
fscanf(in, "%d", &brknglength);
printf("%d\n", brknglength);
int* seed[brknglength];
seed[brknglength] = malloc(sizeof(int[brknglength]));
for(i = 0; i < brknglength; i++){
if (fscanf(in, "%d", &seed[i]) != 1) {
printf("%d", i);
}
printf("%d.: %d \n", i, seed[i]);
}
char string;
fscanf(in, "%s", &string);
free(seed[brknglength]);
fclose(in);
fclose(out);
return 0;
}
是什么导致分段错误?
解决方案
推荐阅读
- python - python - 如何从另一个目录中的子包导入python子目录中的文件?
- c# - 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- android - 在 WorkManager 的 Worker 中注入存储库
- shell - Docker 构建失败“chmod:无法访问'/main.sh':没有这样的文件或目录”
- laravel - 密码重置电子邮件给laravel用户表中的任何用户
- javascript - JavaScript 在浏览器选项卡关闭和浏览器关闭时执行一些操作
- php - 如何将字符串转换为包含 2 个单词和空格的数组
- search - 寻找完全匹配?
- java - Java,搜索给定模式的文件并获取目录名和完整文件名
- javascript - Javascript 正则表达式为 div 着色