实现一个命令行linux终端应用程序,把输入的指定文件,映射到内存中,并打印出文件内容
来源:互联网 发布:监狱建筑师 mac 汉化 编辑:程序博客网 时间:2024/05/30 13:42
实现代码:
#include <stdio.h>#include <sys/mman.h>#include <sys/stat.h>#include <sys/fcntl.h>unsigned long get_file_size(const char *path) { unsigned long filesize = -1; struct stat statbuff; if(stat(path, &statbuff) < 0) { return filesize; } else { filesize = statbuff.st_size; } return filesize; } int main(int argc, char **argv) { int fd,i; char *CharBuf; int FileSize; if ( NULL == argv[1] ) { printf("Please Input FilePath......\n"); return 0; } if( (fd = open(argv[1],O_RDONLY) ) < 0 ) { printf("Please Specified the correct FilePath......\n"); return 0; } FileSize = get_file_size( argv[1] ); CharBuf= mmap(0, FileSize , PROT_READ, MAP_PRIVATE, fd,0); printf("File Content:%s\n", CharBuf );}
测试结果:(改程序可执行名字设为mmap-test: )
1.编译程序:
$ gcc -g -o mmap-test mmap-test.c
2,运行程序 不输入文件名
.$./mmap-test
Please Input FilePath......
3. 输入正确文件名
$./mmap-test Danny.txt
File Content:I believe myself in depth and I will succeed eventually.
- 实现一个命令行linux终端应用程序,把输入的指定文件,映射到内存中,并打印出文件内容
- 【Linux】linux/ubuntu系统下怎么保存命令行终端的输入、输出到指定日志文件
- linux 终端打印内容输出到文件
- 输入内容到指定文本中,并打开文件
- 如何把控制台输入的内容写入到指定的文件中
- 统计一个文件中重复行的个数,并打印出内容
- Logcat内容输入到指定文件中
- Linux下面文件内容到内存区域的映射
- 模块中printk信息打印到指定文件 终端 网络
- 请问如何把指定的内容写入到事先做好的word模板中,然后新生成一个word文件
- c++中把一个文件内容写入指定的文件中
- golang语言实现读取csv文件内容,把相同的内容提取到另外一个文件
- java编程中怎么把一个文件里面的内容按照如下要求输入到数组里?
- C语言--在命令行输入文件名字并打印文件内容
- linux 实现输出重定向(printf 打印,输出到指定文件(不输出到终端))
- 简单的读取文件内容并写到另一个指定的文件中
- Linux把一个文件标准输出输入到另一个文件中
- 用内存映射文件实现应用程序只运行一个实例
- Replace Assignment with Initialization -- 以初始化值取代赋值
- hdu 1242 优先队列广搜
- windows 下架设svn服务器
- 组件关联关系
- 【数据结构】并查集之一
- 实现一个命令行linux终端应用程序,把输入的指定文件,映射到内存中,并打印出文件内容
- 采用xml格式的传输,两种实现方式
- c语言指针例题
- inverse属性
- 【OpenCV】基元检测 Primitive Detection
- 配置hbase出错
- 类继承关系映射
- Q25、(字符串)
- ruby on rails & nginx bug修复心得