.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.