设要写入的数字是int型,则用控制字符串%d和%s来完成,举例代码行如下:
fprintf(fp,"%d %s\n",12345,"abcdefg")
其中:fp是成功写打开文件的指针。此代码行先向文件写入整型数字12345,再加一个空格,接着写入字符串abcdefg,然后写入'\n'。
#include "stdio.h"
#include "string.h"
void main()
{
char a[6]="china"
char temp[1024]
int n=0//记录有多少个china
FILE *outFile=fopen("c:\b.txt","r+")
FILE *inFile=fopen("c:\a.txt","r+")
while(fgets(temp,500,inFile)!=NULL)
{
int k=0
for(int i=0i<strlen(temp)i++)
{
if(temp[i]==a[k] &&k<strlen(a))
{
k++
}
else
{
if(k==strlen(a))
{
n++
fprintf(outFile,"%s
",a)
}
k=0
}
}
}
}
在C盘要有这两个文件。。。
a文件中可能有多个china ,指定加到第几行自己看情况 在设置一个int变量记录就行了
步骤逻辑:
1:打开要写入字符串的文件并检查文件是否已打开。
2:向该文件写入指定的字符串。
3:关闭文件。
需要的头文件和函数(这里对函数的使用方法不再介绍):
1:stdio.h头文件下的fopen函数,fputs函数,fclose函数。
2:stdlib.h头文件下的exit函数。
以下是完整代码并附有详细注释:
#include <stdio.h> //所用到的关键函数fopen,fputs,fclose都在stdio.h头文件中#include <stdlib.h> //exit函数在stdlib.h头文件中
int main(void)
{
FILE *file = NULL //定义一个文件类型(FILE)的指针并初始化
const char *FileName = "D:\\测试\\百度知道.txt" //这里假设是要在D盘的“测试”文件夹中的“百度知道.txt”文件写入字符串。注意:字符串中写入'\'符号必须双写。
file = fopen(FileName, "r+") //调用fopen函数,将返回值赋于指针file
if(!file) //检查文件是否打开,若打开失败,返回一条信息后,结束程序。
{
printf("文件打开失败,请检查文件是否存在!\n")
exit(1)
}
const char *string = "你知道,所以我知道。" //需要写入的字符串内容。
if(!fputs(string, file)) //调用fputs函数写入文件,不管成功或失败都会返回一条信息。
printf("写入成功!\n")
else
printf("写入失败!\n")
fclose(file) //关闭文件。
file = NULL //放空file指针。
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)