天天看点

c语言将字符串写入文件

代码如下:

FILE *fp;

        char ch;

        if((fp=fopen("file.txt","a+"))==NULL)

        {

                printf("You can't open the file.txt!\n");

                exit(1);

        }

        printf("please input the data:\n");

        do

        {

                ch=getchar();  //得到输入的字符;

                fputc(ch,fp);  //将得到的字符存入到文件中;

        }while(ch!='\n');

        printf("The data wtite to the file successfully!\n");

        fclose(fp);

函数原型:FILE * fopen(const char * path,const char * mode);

mode有下列几种形态字符串:  

r 以只读方式打开文件,该文件必须存在。  

r+ 以可读写方式打开文件,该文件必须存在。  

rb+ 读写打开一个二进制文件,允许读数据。

rw+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。  

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。  

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)  

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

at+ 打开一个叫string的文件,a表示append,就是说写入处理的时候是接着原来文件已有内容写入,不是从头写入覆盖掉,t表示打开文件的类型是文本文件,+号表示对文件既可以读也可以写。