.txt 파일로 작성 하시겠습니까?


149

작은 텍스트를 .txt파일로 작성하려면 어떻게해야합니까? 3-4 시간 이상 인터넷 검색을 해왔지만 어떻게해야하는지 찾을 수 없습니다.

fwrite(); 주장이 너무 많아서 사용법을 모르겠습니다.

이름과 몇 개의 숫자 만 .txt파일 에 쓰려고 할 때 가장 쉬운 기능은 무엇입니까 ?

편집 : 내 코드 조각을 추가했습니다.

    char name;
    int  number;
    FILE *f;
    f = fopen("contacts.pcl", "a");

    printf("\nNew contact name: ");
    scanf("%s", &name);
    printf("New contact number: ");
    scanf("%i", &number);


    fprintf(f, "%c\n[ %d ]\n\n", name, number);
    fclose(f);


@ user1054396 : 문제는 인쇄 (오른쪽)가 아니라을 통한 판독에 관한 것scanf 입니다. 을 읽는 경우 %s단일 문자가 아닌 충분한 길이의 버퍼로 읽어야합니다.
Kerrek SB

답변:


268
FILE *f = fopen("file.txt", "w");
if (f == NULL)
{
    printf("Error opening file!\n");
    exit(1);
}

/* print some text */
const char *text = "Write this to the file";
fprintf(f, "Some text: %s\n", text);

/* print integers and floats */
int i = 1;
float py = 3.1415927;
fprintf(f, "Integer: %d, float: %f\n", i, py);

/* printing single chatacters */
char c = 'A';
fprintf(f, "A character: %c\n", c);

fclose(f);

1
파이가 아닌 파이로 파이를 쓴다는 것을 알고 있습니까?
Wouterr

21
FILE *fp;
char* str = "string";
int x = 10;

fp=fopen("test.txt", "w");
if(fp == NULL)
    exit(-1);
fprintf(fp, "This is a string which is written to a file\n");
fprintf(fp, "The string has %d words and keyword %s\n", x, str);
fclose(fp);

-4

글쎄, 먼저 C에 관한 좋은 책을 읽고 언어를 이해해야합니다.

FILE *fp;
fp = fopen("c:\\test.txt", "wb");
if(fp == null)
   return;
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
fclose(fp);

2
그건의 노력은 사용에 비해 fprintf()fputs(). 특히 fprintf()몇 개의 숫자도 작성해야하기 때문에.
Jonathan Leffler

6
그리고 "c:\\test.txt"파일 이름이 아닐 수도 있습니다. 질문에 linux 태그가 있습니다.
키이스 톰슨

13
-1 OP가 사용하기 가장 쉬운 기능을 요청했습니다. 그리고 텍스트를 쓰려면 파일을 바이너리 모드로여십시오. 그리고 열린 오류를보고하지 않는 것이 좋지 않습니다.
Jim Balter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.