一道c语言题目,求带神写代码。

输入整数n,将n与c盘下的1.TXT进行对比,如果1.TXT里包含了n的值,那么输出goodluck否则输出nofound另外小菜愚笨,请大神在调用文件那块,写上注释,谢... 输入整数n,将n与c盘下的1.TXT进行对比,如果1.TXT里包含了n的值,那么输出good luck否则输出no
found 另外小菜愚笨,请大神在调用文件那块,写上注释,谢了。
展开
 我来答
飘雨56
2013-07-05 · 一分耕耘一分收获,凡事预则立
飘雨56
采纳数:931 获赞数:4490

向TA提问 私信TA
展开全部
#include <stdio.h>
#include <stdlib.h>
#define N 10

void main()
{
int num; //输入数
char fileNum[N]; //存放读取文件的内容
bool flag; //标记是否成功找到匹配的数字
flag=false;

printf("输入一个整数:");
scanf("%d",&num);

FILE *fp; //创建文件指针
//读取失败,直接退出
if(!(fp=fopen("1.txt","r")))
{
printf("文件打开失败……\n");
exit(0);
}

while(!feof(fp)) //如果到文件末尾则结束循环
{
fgets(fileNum, N, fp); //逐行读取文件
if(atoi(fileNum)==num) //将读取到的内容与输入的内容进行比较
{
printf("Good Luck\n");
flag=true;
break;
}
}

if(flag==false)
{
printf("not found.\n");
}
}
hu0904
2013-07-05 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:455万
展开全部
bool find(char *p,char *r){
char *t,*te;
while(*p!='\0'){
if(*p==*r){
t=p;
te=r
while(*t!='\0'&&*te!='\0'){
if(*t++!=*te++)break;
}
if(*te=='\0')return true;
}
p++;
}
return false;
}
bool fun(long r){
char *pr=new char[32];
sprintf_s(pr,32,"%d",r);
bool flag=false;
HANDLE file=CreateFileA("C:/1.txt",GENERIC_ALL,
FILE_SHARE_READ,
NULL,OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);//打开文件句柄 http://baike.baidu.com/view/1288759.htm
if(file!=INVALID_HANDLE_VALUE){
char *pch=new char[2048];
DWORD p;
if(ReadFile(file,pch,2048,&p,NULL)){//读取数据 http://baike.baidu.com/view/1336847.htm pch[p]='\0';
if(find(pch,pr)){
cout<<"Good Luck!"<<endl;
flag=true;
}
}
delete [] pch;
CloseHandle(file);
}

delete[] pr;
return flag;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式