写入.txt文件?


149

如何将一小段文字写入.txt文件?我已经使用Google搜索了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,则必须读入足够长的缓冲区,而不是单个char。
Kerrek SB 2012年

Answers:


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
你知道你把π写成pi而不是py吗?
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()因为也必须写一些数字。
乔纳森·勒夫勒

6
并且"c:\\test.txt"是不太可能的文件名;问题被标记为linux
基思·汤普森

13
-1 OP要求使用最简单的功能。并编写文本,但是您要以二进制模式打开文件。而且,失败的做法是无法报告打开错误。
Jim Balter 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.