首页 > 解决方案 > 尝试使用 fscanf 将 .txt 文件中的字符串读取到字符串数组中,使用整数而不是字符串。段错误

问题描述

我试图从文本文件中读取数字作为字符串,然后将它们放入数组中。我最初有一个整数数组,并且正在使用数据类型“%d”的 fscanf 读取。效果很好,但我想将数字读取为字符串。

所以我创建了 nums 数组,我试图让 fscanf 将字符串读入 nums 数组。(数组是固定大小的原因是因为我的任务规定了这一点)。

代码编译时没有任何警告,但第一次尝试将“%s”读入 nums[y] 会产生分段错误。

我打开到 fp 的 txt 文件有点如下:“83222 331111 335533 33222 33333...”,大约有 5000 个数字,每个数字之间有一个空格。

char *nums[76*76];
int y = 0;
while (fscanf(fp,"%s",nums[y]) == 1){
   y++;
}

标签: c

解决方案


推荐阅读