C++ 文件data.txt中存放着一批整数,编写程序输入一个整数,统计并输出其在该文件中出现的次数
2个回答
展开全部
假设你data.txt中每行存入一个整数。
以下是代码,VC6.0下编译通过。
#include <stdio.h>
#include <string.h>
int GetTimes(char *pData);
void main()
{
char szData[1024] = {0};
printf("请输入一个整数:");
scanf("%s", szData);
printf("出现次数:%d\n", GetTimes(szData));
}
int GetTimes(char *pData)
{
int times = 0;
FILE *pRead = fopen("data.txt", "r");
if (pRead==NULL)
{
printf("读取文件失败\n");
return -1;
}
fseek(pRead,0,0);
char szLine[1024] = {0};
while (!feof(pRead))
{
memset(szLine, 0, 1024);
fgets(szLine, 1024, pRead);
int len = strlen(szLine);
if ((len==1 && szLine[len-1]=='\n'))
{
continue;
}
if (szLine[len-1]=='\n')
{
szLine[len-1] = '\0';
}
if (strcmp(pData, szLine)==0)
{
times++;
}
}
return times;
}
以下是代码,VC6.0下编译通过。
#include <stdio.h>
#include <string.h>
int GetTimes(char *pData);
void main()
{
char szData[1024] = {0};
printf("请输入一个整数:");
scanf("%s", szData);
printf("出现次数:%d\n", GetTimes(szData));
}
int GetTimes(char *pData)
{
int times = 0;
FILE *pRead = fopen("data.txt", "r");
if (pRead==NULL)
{
printf("读取文件失败\n");
return -1;
}
fseek(pRead,0,0);
char szLine[1024] = {0};
while (!feof(pRead))
{
memset(szLine, 0, 1024);
fgets(szLine, 1024, pRead);
int len = strlen(szLine);
if ((len==1 && szLine[len-1]=='\n'))
{
continue;
}
if (szLine[len-1]=='\n')
{
szLine[len-1] = '\0';
}
if (strcmp(pData, szLine)==0)
{
times++;
}
}
return times;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询