C语言实现从文件中查找字符,C语言实现从文件中查找字符

要求:从文件中分别查找大写字母,小写字母以及数字的个数。

代码:

#include int main(void)

{

char str[50][20];

int i, j, num = 0;

int sum_cap = 0;

int sum_low = 0;

int sum_dig = 0;

int len = 0;

FILE *fp;

fp = fopen("C:\\Users\\Administator\\Desktop\\dictionary.txt", "r");

while(!feof(fp))

{

fscanf(fp, "%s", &str[num]);

num++;

}

fclose(fp);

for(i = 0; i < num; i++)

{

for(j = 0; j < 20; j++)

{

if(str[i][j] == '\0')break;

if(str[i][j] >= 'A' && str[i][j] <= 'Z')

sum_cap++;

if(str[i][j] >= 'a' && str[i][j] <= 'z')

sum_low++;

if(str[i][j] >= '0' && str[i][j] <= '9')

sum_dig++;

}

}

printf("sum_cap = %d, sum_low = %d, sum_dig = %d\n", sum_cap, sum_low, sum_dig);

return 0;

}

说明:

在循环读取文件代码部分:一开始想的是一个字符一个字符的读取,这样直接存放在一个一维数组里就行了,而且查找起来也方便。

char str[50];

while(!feof(fp))

{

fscanf(fp, "%c", &str[num]);

num++;

}

但是发现这样做之后,能编译通过但调试窗口会崩溃。仔细想一想,觉得问题一应该出在文件指针这,因为fscanf()函数每次会读到结束符处,但如果是几个字符之间没有结束符,那文件读到此处时,由于只要读取一个字符,但又没遇到结束符,导致程序崩溃。所以。。。但实际原因也暂时没找到验证方法。希望知道的能告诉我下具体原因,谢谢。

博客内容很简单,在给自己做下笔记的同时也希望能帮助到需要帮助的人。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值