c언어 입력한 문자열을 텍스트 파일에 출력

조회수 328회
#include <stdio.h>

int main(void)
{
    char sts[50];
    int cnt;
    FILE* foc = NULL;
    errno_t err;

    err = fopen_s(&foc, "save.txt", "wt");

    if (err == 0)
    {
        printf("save.txt 파일 생성 완료\n");
        printf("1. 문자열 입력 : ");
        gets_s(sts, sizeof(sts));

        printf("2.파일에 쓴 내용 : %s\n", sts);

        for (cnt = 0; sts[cnt] != NULL; cnt++);
        fputc(sts[cnt], foc);

        fclose(foc);
        printf("save.txt 파일 닫기 성공\n");

    }
    else
        printf("save.txt 파일 생성 실패\n");

    return 0;
}

실행하고 save.txt 파일을 열어봤는데 아무것도 안 젹혀 있습니다. 참고로 책에 있는 예제 문제를 그대로 적었고 맞게 적었는지도 여러 번 확인해서 코드에는 문제가 없는 것 같은데 다른 이유가 있을까요??

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    문제는 for루프 맨 뒤에 있는 ;때문입니다.

    아래와 같이 ;를 지우세요.

    for (cnt = 0; sts[cnt] != NULL; cnt++)
                fputc(sts[cnt], foc);
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)