게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
본삭금) C언어 질문이 있습니다
게시물ID : programmer_8115짧은주소 복사하기
작성자 : 자이제
추천 : 0
조회수 : 588회
댓글수 : 9개
등록시간 : 2015/02/10 15:52:38
옵션
  • 본인삭제금지
char name[10];
char sex;
int age;

FILE* fp; fopen_s(&fp, "friend.txt", "wt");
int i;

for (i = 0; i < 3; i++){
printf("이름 성별 나이 순 입력\n");
scanf_s("%s %c %d", name, &sex, &age,sizeof(name));   <---------이 부분
getchar(); // 버퍼에 남아있는\n의 소멸을 위해서
fprintf(fp, "%s %c %d", name, sex, age);
}

이런 코드를 짰는데요

궁금한점 1
저 위에 scanf_s에서 값을 읽고나면 자꾸 프로그램이 꺼져버립니다.

scanf_s를 사용할 때 꺼져버리는 경우는 &를 안붙여서 그런 경우가 많은데 이번에는 제대로 다 했는데 저러네요..

왜 자꾸 프로그램이 그냥 꺼지는지 모르겠습니다.

궁금한점 2
scanf_s의 마지막에 sizeof(name)은 버퍼의 크기를 정해주려고 넣었는데요

보시다시피 3개의 값을 받는 경우에는 버퍼의 크기를 정하는 것도 3번 해야하나요? 아니면 지금처럼 한번만 해도 돼나요?
이건 구글링 해도 다들 1개 인자 받을 때 만 설명하고 있어서 잘 모르겠어요

읽어주셔서 감사합니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호