gpt4 book ai didi

c - 使用 malloc 和 scanf 的困难

转载 作者:行者123 更新时间:2023-11-30 18:32:28 25 4
gpt4 key购买 nike

我在使用 mallocfscanf 时遇到困难。我只想读取一个文件并使用打印出结果当我执行此代码时,出现段错误错误。我不确定我做错了什么。如果有人指出修复方法,我将不胜感激。这是我的代码:

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

int main(int argc, char* argv[]){
char* buffer = (char*)malloc(*argv[1]); // Allocate memory
if(buffer=NULL) // if *argv[1] is not existed, exit the program
exit(1);

int n = 0;
FILE* fp=fopen("file.txt","r"); // Open the file
do {
buffer[n] =fscanf(fp,"%c",buffer); // read from file until it gets EOF
} while(buffer[n] != EOF);
fclose(fp); // Close the file

printf("%s",buffer); // Print the stored string

free(buffer); // Return the memory
return 0;
}

最佳答案

明白了。这:

if(buffer=NULL)

应该是这样的:

if(buffer==NULL)

缓冲区设置为NULL。我相信您可以看到接下来会发生什么。

更一般地说,这段代码试图做几件事,并且充满了错误。您应该分别测试不同的功能并解决这些错误。

关于c - 使用 malloc 和 scanf 的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219923/

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