Я пишу что-то на C, используя Netbeans 6.9.1 (это необходимо), и наткнулся на странную ошибку. Когда я пытаюсь запустить этот код из Netbeans:
#include <stdio.h>
#include <stdlib.h>
#include "company_description.h"
company_description read_company_description() {
char file_name[FILE_NAME_BUFFER_SIZE];
FILE *company_description_file;
company_description cd;
printf("Please enter the name of the file containing the "
"company's description: \n");
scanf("%50s", file_name);
company_description_file = fopen(file_name, "r");
if(company_description_file != NULL) {
printf("file is not null\n");
}
fscanf(company_description_file, "%s%s%s%s%s%s", cd.company_name,
cd.name_file_deliveries_info, cd.name_file_industrial_park,
cd.name_file_places, cd.name_file_roads, cd.name_file_vans_info);
return cd;
}
Я получаю этот вывод:
Please enter the name of the file containing the company's description:
name_file.txt
Segmentation fault
Press [Enter] to close the terminal ...
Хорошо, я говорю себе, с моей точки зрения, в этом коде нет ничего плохого, и я перехожу к
~ / path / to / NetbeansProject / dist / Debug / GNU-Linux-x86 и попробуйте запустить оттуда исполняемый файл, и он работает. Я забыл упомянуть, что файл, который нужно прочитать, находится в той же папке, где находится исполняемый файл. Теперь может быть ошибка на моей стороне, но я не вижу ее, поэтому любые мысли об этом будут полезны. Спасибо!