c语言将文件file.txt 中大写英文字母显示在显示屏上
答案:4 悬赏:0 手机版
解决时间 2021-02-25 17:04
- 提问者网友:缘字诀
- 2021-02-25 03:02
c语言将文件file.txt 中大写英文字母显示在显示屏上
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-25 03:35
如果文件不是太大的话可以将文件一次性读取进一个缓冲区里
如果文件比较大的话则可以分片多次进行读取
然后对读取的数据遍历扫描
将所有在A~Z的数据打印出来(包括A和Z)
或者也可以使用isupper函数判断是否为大写字母
同样的也可以一个字节一个字节地读取
但这样效率会有所下降
下面是一个简单的代码
#include
#include
int main(int argc,char **argv)
{
FILE *fp;
char buf[512];
size_t n;
int i;
if((fp=fopen(argv[1],"rb")) == NULL)
{
printf("打开文件出错!
");
return -1;
}
while(!feof(fp))
{
n=fread(buf,sizeof(char),sizeof(buf),fp);
for(i=0;i < n;++i)
if(isupper(buf[i]))
putchar(buf[i]);
}
fclose(fp);
return 0;
}命令行的第一参数为file.txt就可以将file.txt中所有的大字字母打印出来
如果文件比较大的话则可以分片多次进行读取
然后对读取的数据遍历扫描
将所有在A~Z的数据打印出来(包括A和Z)
或者也可以使用isupper函数判断是否为大写字母
同样的也可以一个字节一个字节地读取
但这样效率会有所下降
下面是一个简单的代码
#include
#include
int main(int argc,char **argv)
{
FILE *fp;
char buf[512];
size_t n;
int i;
if((fp=fopen(argv[1],"rb")) == NULL)
{
printf("打开文件出错!
");
return -1;
}
while(!feof(fp))
{
n=fread(buf,sizeof(char),sizeof(buf),fp);
for(i=0;i < n;++i)
if(isupper(buf[i]))
putchar(buf[i]);
}
fclose(fp);
return 0;
}命令行的第一参数为file.txt就可以将file.txt中所有的大字字母打印出来
全部回答
- 1楼网友:痴妹与他
- 2021-02-25 07:00
你在考试吗,不会是辽工大的我们也在帮同学查呢哈哈
- 2楼网友:神鬼未生
- 2021-02-25 05:31
先用fopen和fgets把文件里的字母取出来,再判断一下输出,哪里不会。
- 3楼网友:十鸦
- 2021-02-25 05:12
#include
main(){
FILE *fp;
int c;
fp=fopen("file.txt","r");
if (!fp){
printf("Can not open file.txt\n");return 0;
};
while(1){
c=fgetc(fp);
if (feof(fp)) break;
if (c>='A' && c<='Z')putchar(c);
}
fclose(fp);
return 0;
}
main(){
FILE *fp;
int c;
fp=fopen("file.txt","r");
if (!fp){
printf("Can not open file.txt\n");return 0;
};
while(1){
c=fgetc(fp);
if (feof(fp)) break;
if (c>='A' && c<='Z')putchar(c);
}
fclose(fp);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯