gpt4 book ai didi

c - fscanf 导致段错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:03:23 25 4
gpt4 key购买 nike

我正在尝试从 .txt 文件中读取一堆 int 并将它们存储在内存中。不过,每当我尝试运行它时,下面代码中的 fscanf() 行都会导致段错误。我已经确认 `fopen() 工作正常。知道我应该做什么吗?感谢您的帮助。

#include <stdio.h>
#include <stdlib.h>




void load_file(FILE* file, int** p);

int main()
{

FILE* f1;
f1 = fopen("twenty-five-ints.txt", "r");
int p=0;
int* k = &p;
load_file(f1, &k);
return 0;
}

void load_file(FILE* file, int** p) {

int number = 0;
int i = 0;
while (fscanf(file, "%d", &number) != EOF) {
*(*p + i) = (int) fscanf(file, "%d", &number);
i++;
}

}

最佳答案

在您的代码中,p 指向一个指向单个整数的指针。您只有足够的空间来存储一个整数,尝试存储第二个或第三个整数可能会导致您观察到的崩溃。

关于c - fscanf 导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440091/

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