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}