求解C++问题!!急求!!!编写程序统计某文中出现 if while for 单词的次数

编写程序统计某文中出现ifwhilefor单词的次数... 编写程序统计某文中出现 if while for 单词的次数 展开
 我来答
CraZy_小猪
2013-06-06 · TA获得超过792个赞
知道小有建树答主
回答量:871
采纳率:55%
帮助的人:317万
展开全部
#include <stdio.h>
#define STR_IF "if"
#define STR_WHILE "while"
#define STR_FOR "for"
int main(int argc, char* argv[])
{
HANDLE hOpenfile = NULL;
char cstr[256];
DWORD dwReadSize = 0;
BOOL bRet = false;
long if_num = 0;
long while_num = 0;
long for_num = 0;
memset(cstr,0x00,sizeof(cstr));
hOpenfile = CreateFile("1.txt",GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (!hOpenfile){
printf("文件打开失败!");
return 0;
}
bRet =::ReadFile(hOpenfile,cstr,sizeof(cstr),&dwReadSize,NULL);
if (!bRet){
printf("文件读取失败!");
return 0;
}
char* p = NULL;
p = _tcstok(cstr," ");
do {
if (strcmp(p,STR_IF) == 0){
if_num ++;
}
else if (strcmp(p,STR_WHILE) == 0) {
while_num++;
}
else if (strcmp(p,STR_FOR) == 0){
for_num++;
}
else{
// do nothing
}
p = _tcstok(NULL," ");
} while (p);
printf(" for单词的个数为:%d\n while单词的个数为:%d\n if单词的个数为:%d\n",for_num,while_num,if_num);
return 0;
}

说一下,因为txt中每个单词都是用" "(空格)区分的,所以程序中使用了 p = _tcstok(cstr," ");来查找每个单词,当然如果你喜欢使用","来区分,那么要在_tcstok函数的第二个参数换成","即可。
以上,有问题请追问。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式