文件查看器(C语言)
2017-02-05 15:50
127 查看
直接,代码如下:
#include <stdio.h> #include <ctype.h> #include <string.h> #define MAXLEN 100 const int DISPLAY = 80; const int PAGE_LENGTH = 20; int main(int argc,char *argv[]){ char filename[MAXLEN]; FILE *pfile = NULL; unsigned char buffer[DISPLAY/4-1]; int count = 0; int lines = 0; //要求输入文件名 if(argc == 1){ printf("请输入文件名:\n");//该情况需要sudo权限执行程序,才能访问其他文件夹文件. scanf("%s",filename); //printf("%s\n",filename); }else{ strcpy(filename,argv[1]); printf("执行程序:%s\n",argv[0]); } //打开文件 if(!(pfile = fopen(filename,"rb"))){ printf("未能打开该文件.\n"); return -1; } //读取并显示文件内容 while(!feof(pfile)){ if(count < sizeof buffer) buffer[count++] = (unsigned char)fgetc(pfile); else{ for(count = 0;count < sizeof buffer; count++){ printf("%02X ",buffer[count]); } printf("| "); for(count = 0;count < sizeof buffer; count++){ printf("%c",isprint(buffer[count])?buffer[count]:'.'); } printf("\n"); count = 0; if(!(++lines%PAGE_LENGTH)) if(getchar() == 'E') return 0; } } //显示最后一行 for(int i = 0;i < sizeof buffer; i++){ if(i < count) printf("%02X ",buffer[i]); else printf(" "); } printf("| "); for(int i = 0;i < count; i++){ printf("%c",isprint(buffer[i])?buffer[i]:'.'); } printf("\n"); //结束 fclose(pfile); return 0; }
相关文章推荐
- 我怎么样学好C语言/
- 数组08 - 零基础入门学习C语言30
- C语言基本数据类型的长度和取值范围
- 快速排序的C语言源代码与分析
- linux下获取所有网卡mac地址(C语言)
- c语言调用汇编的方法
- 控制流程——学渣C语言再修之路
- C语言封装dll
- C语言之后
- C语言编程入门——数组(下)
- c语言中gets ,getschar 和fgets 的用法及三者之间的差别
- C语言创建和操作单链表数据结构的实例教程
- 【C语言】如何写一个参数可变的函数
- 《算法与数据结构---C语言描述》优先队列
- C语言直接选择排序
- C语言 合并有序顺序表
- C语言博客作业--字符数组
- 队列的实现(C语言)
- int=-1 要使long=65535怎么用C语言输出格式输出来呀
- C语言内存管理(林锐博士的文章,绝对经典)