0
내가 5 개 기능을해야합니다 작은 데이터베이스 프로그램을 작성하기 위해 노력하고있어는, 첫 번째는 (추가입니다)하지만 난 scanf와에 segfault의 오류 :이 오류입니다는 segfault의 scanf와 fprintf와
void Add(); struct data{ char name[20]; char description[300]; int quantity; }; typedef struct data dataobj; dataobj element; int main() { Add(); return 0; } Add() { FILE *database; database = fopen("database.txt", "a+"); printf("Object: \n"); fgets(element.name,20,stdin); fprintf(database, element.name); printf("Description: \n"); fgets(element.description,300,stdin); fprintf(database, element.description); printf("Quantity: \n"); scanf("%d",&element.quantity); fprintf(database, element.quantity); fclose(database); }
: 프로그램 수신 신호 SIGSEGV, 세그먼트 오류.) (ungetwc에서 (C : \ WINDOWS \ SysWOW64와 \ MSVCRT.DLL)
디버거 창
#0 0x77bea965 ungetwc() (C:\WINDOWS\SysWOW64\msvcrt.dll:??) #1 0x77c21268 msvcrt!_iob() (C:\WINDOWS\SysWOW64\msvcrt.dll:??) #2 ?? ??() (??:??)
이 또한 내가 scanf와 명령 후에는 fgets를 작성하는 경우는 fgets가 일부 실행되지 않습니다 것으로 나타났습니다 이유 .. 그래서 프로토 타입에서 나는이 순서를 유지해야했다 : char char int (예를 들어 내가 쓸 수 없었다 : char int char)