2 回答

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
//每個(gè)單詞之間必須用換行符隔開
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define BUF_MAX 1024
int main()
{
char findStr[100];
char *pStr=(char*)malloc(BUF_MAX);
FILE*pFile;
if((pFile=fopen("C:\\Users\\hp\\Desktop\\words.txt","rt"))==NULL)
{
fprintf(stderr,"打開文件錯(cuò)誤");
return 1;
}
puts("請(qǐng)輸入你要查找的單詞:");
scanf("%s",findStr);
bool bFind=false;
while(fgets(pStr,BUF_MAX-1,pFile)!=NULL)
{
if(strstr(pStr,findStr)!=NULL)
{
bFind=true;
printf("%s",pStr);
}
}
if(!bFind)
puts("沒有找到");
fclose(pFile);
return 0;
}

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
c語言讀取文件并輸出的代碼如下:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
return0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個(gè)整數(shù)
b=fgetc(fp1);//從輸入文件讀取一個(gè)字符
fgets(c,100,fp1);//從輸入文件讀取一行字符串
printf("%ld",ftell(fp1));//輸出fp1指針當(dāng)前位置相對(duì)于文件首的偏移字節(jié)數(shù)
fputs(c,fp2);//向輸出文件寫入一行字符串
fputc(b,fp2);//向輸出文件寫入一個(gè)字符
fprintf(fp2,"%d",a);//向輸出文件寫入一個(gè)整數(shù)
fclose(fp1);//關(guān)閉輸入文件
fclose(fp2);//關(guān)閉輸出文件,相當(dāng)于保存
return0;
}
C語言中使用fopen()函數(shù)實(shí)現(xiàn)文件的讀取,使用fgetc()函數(shù)讀取文件中的字符,使用fclose()實(shí)現(xiàn)文件的關(guān)閉,注意:打開文件流必須要關(guān)閉文件流,不然會(huì)持續(xù)占用計(jì)算機(jī)內(nèi)存資源。
- 2 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報(bào)