c语言如何向一个文件中输入字符串

Python041

c语言如何向一个文件中输入字符串,第1张

1.通过fopen打开文件,fputs像文件写入数据,fclose关闭文件。

#include <stdio.h>

int main()

{

    FILE *pf = fopen("F:/1.txt", "w+") // 以写、创建形式打开文件

    if (!pf)

        return -1

    fputs("123abc456-1452=!@#$", pf) // 像文件写入字符串

    fclose(pf) // 关闭文件

    printf("ok")

    return 0

}

2.FILE

*fopen(

const

char

*fname,

const

char

*mode

 

fopen()函数打开由fname(文件名)指定的文件,

并返回一个关联该文件的流.如果发生错误,

fopen()返回NULL.

mode(方式)是用于决定文件的用途(例如

用于输入,输出,等等)

Mode(方式)

 

 

意义

 

 

"r"

 

 

打开一个用于读取的文本文件

 

 

"w"

 

 

创建一个用于写入的文本文件

 

 

"a"

 

 

附加到一个文本文件

 

 

"rb"

 

 

打开一个用于读取的二进制文件

 

 

"wb"

 

 

创建一个用于写入的二进制文件

 

 

"ab"

 

 

附加到一个二进制文件

 

 

"r+"

 

 

打开一个用于读/写的文本文件

 

 

"w+"

 

 

创建一个用于读/写的文本文件

 

 

"a+"

 

 

打开一个用于读/写的文本文件

 

 

"rb+"

 

 

打开一个用于读/写的二进制文件

 

 

"wb+"

 

 

创建一个用于读/写的二进制文件

 

 

"ab+"

 

 

打开一个用于读/写的二进制文件

 

 

3.int

fputs(

const

char

*str,

FILE

*stream

)

fputs()函数把str(字符串)指向的字符写到给出的输出流.

成功时返回非负值,

失败时返回EOF. 

4.int

fclose(

FILE

*stream

)

函数fclose()关闭给出的文件流,

释放已关联到流的所有缓冲区.

fclose()执行成功时返回0,否则返回EOF.

#include<stdio.h>

static

int

write_flag=1

/*写文件标志,即是否要将字符串写入文件*/

void

function(char

*str)

{

int

i=0

do

{

if((str[i++]=='b')&&(str[i]=='y')&&(str[i+1]=='e'))/*字符串中有“bye字串”*/

{

str[i+2]='\0'

/*截断字符串*/

write_flag=0

/*写文件标志置

0

*/

break

}

}while(str[i+2]!='\0')

}

int

main()

{

int

i,j

char

str[100]={0}

FILE

*fp

fp=fopen("answer.txt","w")

do

{

gets(str)

function(str)

fprintf(fp,"%s\n",str)

}while(write_flag)

fclose(fp)

while(1)

gets(str)/*接收其他无效字符串。自己添加程序结束条件*/

return

0

}

亲测通过!

从键盘输入一行字符,写入一个文件, 再把该文件内容读出显示在屏幕上。\x0d\x0a#include\x0d\x0amain()\x0d\x0a{\x0d\x0aFILE *fp\x0d\x0achar ch\x0d\x0aif((fp=fopen("string","wt+"))==NULL)\x0d\x0a{\x0d\x0aprintf("Cannot open file strike any key exit!")\x0d\x0agetch()\x0d\x0aexit(1)\x0d\x0a}\x0d\x0aprintf("input a string:\n")\x0d\x0ach=getchar()\x0d\x0awhile (ch!='\n')\x0d\x0a{\x0d\x0afputc(ch,fp)\x0d\x0ach=getchar()\x0d\x0a}\x0d\x0arewind(fp)\x0d\x0ach=fgetc(fp)\x0d\x0awhile(ch!=EOF)\x0d\x0a{\x0d\x0aputchar(ch)\x0d\x0ach=fgetc(fp)\x0d\x0a}\x0d\x0aprintf("\n")\x0d\x0afclose(fp)\x0d\x0a}