gpt4 book ai didi

c - 主事件运行前出现段错误?

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

在我的 main 甚至运行任何能够导致段错误的重要代码之前,我就收到了一个段错误。即,printf("before main functionality starts\n"); 没有运行。

是什么导致了这个问题?

 int main() {
printf("before main functionality starts\n");
person* people = create();

//Make new file and write into it
printf("\nWriting into file\n");
char file_name[] = "people_list";
int file_number = open(file_name, O_CREAT|O_WRONLY, 0644); //only owner can read/write, rest can only read

int error_check;
error_check = write(file_number, people, sizeof(&people) ); //reads array into file

if(error_check < 0) {
printf("ERROR: %s\n", strerror(errno));
return -1;
}
close(file_number);

//Read from new file
printf("\nReading from file...\n");
person* new_people[10];
file_number = open(file_name, O_RDONLY); //reopens file, now with data
error_check = read(file_number, new_people, sizeof(people));
if(error_check < 0) {
printf("ERROR: %s\n", strerror(errno));
return -1;
}
close(file_number);

最佳答案

如果您想立即看到输出,则需要刷新句柄(使用 fflush(stdio))。您的程序很可能在立即发出 printf 调用后崩溃。

IO 也在行尾刷新,因此如果您的调试语句以 '\n' 结尾,那么它将被显示,您将找到发生段错误的位置。

关于c - 主事件运行前出现段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382289/

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