重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用fopen函数打开文件,使用fgetc()一个字符一个字符的读取,然后计数统计就可以啦,fget()从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节,这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。
成都创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目做网站、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元莎车做网站,已为上家服务,为莎车各地企业和个人服务,联系电话:13518219792
#includestdio.h
int main()
{
FILE *fp;
char filename[50];
int num=0;
printf("输入一个文件名: ");
gets(filename);
if((fp=fopen(filename,"r"))==NULL)
{
printf("文件打开失败..\n");
return ;
}
while(!feof(fp))fgetc(fp)num++;
printf("%s 文件中共有字符个数: %d\n",filename,num);
fclose(fp);
return ;
}
看用什么方法输入数据,每成功输入1个数据,你用累加器加1。
常用输入数据函数是 scanf(), 这个函数能返回成功读入的数据个数。
例如: n = scanf("%d %f %lf %s", k, a, x, s);
成功读入4个,n得4,成功读入3个,n得3,。。。成功读入1个,n得1,
一个也没成功,n得 0。
如果循环读入:
int sum=0, i=0;
while(...){
n = scanf("%d %f %lf %s", k[i], a[i], x[i], s[i]);
sum = sum + n;
i++;
}
printf("成功读入的数据个数是%d\n",sum);
char str[]="\tab\n\012\\\""
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2、3:ab
字符4:\n 转义字符,换行符,其ASCII 值10(十进制)
字符5:\012 转义字符,其中012是8进制数,其ASCII值 同\n.
字符6:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
字符7:\" 转义字符 双引号",其ASCII值 34(十进制)
2. printf("%d \n", strlen("IBM\n012\1\\"));
字符1、2、3: IBM
字符4:\n 转义字符
字符5、6、7:012
字符8:\1 其ASCII值 1(8进制).
字符9:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
3. printf("%d \n",strlen("\t\"\065\xff\n"));
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2:\" 转义字符 双引号",其ASCII值 34(十进制)
字符3:\065 ,代表字符5,其中065为8进制 格式,其ASCII为53(十进制)
字符4:\xff (这个我不知道怎么解释,请其它老师帮助解释)
字符5:\n
4. printf("%d \n",strlen("stop\0\n\""));
字符1、2、3、4:stop
因为strlen()函数遇到\0 就结束了,后面的字符就不去判断了。
C语言中的字符串 是用\0作为 结束符。
希望我的解答 对你有所帮助,很高兴和你一起讨论和学习C语言。