2016-06-06 9 views
0

안녕하세요 저는 파일에 데이터를 쓰려고 할 때 fopen 및 fputs와 어려움을 겪고 있습니다. 특히fopen 및 fputs in C

, 다음 코드

#include <stdio.h> 
    #include <stdlib.h> 

    int main() 
    { 
     FILE * fp; 

     fp = fopen ("file_out.txt", "a+"); 
     fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016); 

     fclose(fp); 

     return(0); 
    } 

날이 출력을 제공합니다 : 우리는 2016

이것은 내가 기대하고 바라던 것입니다 수 있습니다.

그러나, 나는

fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016); 

fprintf(fp, "%s %s %s %d", "We", "are", "in", 3333); 

을 변경하고 다시 컴파일하고 실행하면 난 여전히 이전과 같은 출력을 얻을! 의미는 2016이 인쇄 된 것이지 3333이 아닙니다. 어떤 도움을 주셔서 감사합니다.

+0

어떻게 재 컴파일하나요? 코드와는 아무런 관련이 없습니다. –

+0

대부분의 대답은 다음과 같습니다. 다시 컴파일하는 것을 잊었거나, 다시 실행하지 않은 것을 잊었거나 잘못된 파일을보고 있습니다. – immibis

+0

파일을 먼저 저장 했습니까? 컴파일하기 전에 !! code :: blocks 다음에 – mssirvi

답변

0

추가 모드로 파일을 열었으므로 fp = fopen ("file_out.txt", "a+");을 작성 했으므로 작성한 파일에 파일이 추가됩니다. 그리고 파일을 읽는 유틸리티가 파일의 첫 번째 줄을 읽는 것 같아요. 따라서 매번 We are in 2016이됩니다.