当前位置: 技术问答>linux和unix
二进制文件读写问题
来源: 互联网 发布时间:2016-11-21
本文导语: 我是一个linux菜鸟中的菜鸟,有个十分紧急的问题需要各位高手来解决。 在linux一个目录下有多个二进制文件(.data结尾的文件),我需要对它们进行一下操作 1.如果不知道文件名,仅仅知道所在目录情况下,是否有...
我是一个linux菜鸟中的菜鸟,有个十分紧急的问题需要各位高手来解决。
在linux一个目录下有多个二进制文件(.data结尾的文件),我需要对它们进行一下操作
1.如果不知道文件名,仅仅知道所在目录情况下,是否有办法将目录下文件一个一个读取(一定是要一个一个读,因为读一个文件后要做一些操作,再读下个文件)?
2.读取的二进制文件,是否有办法判断它的每个位的值是0还是1。如果不能整个二进制文件判断,是否可以先读一个字节,判断一个字节中8个位每位的值,再读下个字节进行判断?
3.上述操作要用c/c++语言来完成。
请各位高手解答,给出具体的语句实现。在下不胜感激!!!!
在linux一个目录下有多个二进制文件(.data结尾的文件),我需要对它们进行一下操作
1.如果不知道文件名,仅仅知道所在目录情况下,是否有办法将目录下文件一个一个读取(一定是要一个一个读,因为读一个文件后要做一些操作,再读下个文件)?
2.读取的二进制文件,是否有办法判断它的每个位的值是0还是1。如果不能整个二进制文件判断,是否可以先读一个字节,判断一个字节中8个位每位的值,再读下个字节进行判断?
3.上述操作要用c/c++语言来完成。
请各位高手解答,给出具体的语句实现。在下不胜感激!!!!
|
同意楼上说法,楼主的需求可以google下linux下枚举目录,关键字为readdir
可以简单参考下面的代码
可以简单参考下面的代码
#include
DIR *dp;
struct dirent *dirp;
if((dp=opendir(szTemp))==NULL)
{
printf("目录名不正确n");
return -1;
}
num=0;
while((dirp=readdir(dp))!=NULL)
{
if(strcmp(dirp->d_name,".")==0 || strcmp(dirp->d_name,"..")==0)
continue;
strcpy(szPath[num],dirp->d_name);
num++;
}