一个块设备,linux下怎么读取指定大小及偏移量的数据出来?

一个块设备,linux下怎么读取指定大小及偏移量的数据出来?,第1张

这个可以用dd命令实现

例如 dd if=/dev/sda1 of=cc.txt bs=1M count=3 seek=3

解释: 从sda1读取,生成文件cc.txt, 块大小为1M,数量为3块(1M*3=3M,所有生成文件大小为3M),seek=3意思是跳过sda1的前三个block(因为bs=1M,所以跳过前3M的内容)

希望能帮助楼主。

fread和fwrite函数参数1和8写反了,请查阅这两个函数的定义。

int nCount = fread(mingwen1,1,8,f) //返回nCount实际读取到的字符个数,每一次能读满就是8否则按读到的数来

fwrite(mingwen1,1,nCount,f) //要写入实际读取的长度,而不是统一的8,至于你密文长度是多少就得你自己计算了,因为不知道你加密算法有没有增加原来字符串长度。

你用如下代码覆盖你源代码中的类似部分试试:

while(int nCount = fread(mingwen1,1,8,f))

{

//int se = CDes(mingwen1,miwen,mm,0)//暂时屏蔽,要加密请加上这句并把下一句变量改为miwen

fwrite(mingwen1,1,nCount,g)

}

同时在while循环之前,和每一次fwrite之后应该使用

memset(mingwen1,0,8)

memset(miwen,0,8)

将mingwen1和miwen置0,不然最后一次虽然没有读取满,但是会保留前一次的字符在里面。

private static String driver =null

private static String url = null

private static String user = null

private static String password = null

private static BasicDataSource ds

static{

//读取程序外的.properties 文件

//需要.properties文件的包路径

Properties props = new Properties()

try {

String path ="db.properties"

props.load(

DBUtils.class.getResourceAsStream(path)

)

//properties对象.getProperty("字符串")

driver=props.getProperty("driver")

url=props.getProperty("url")

user=props.getProperty("user")

password=props.getProperty("password")

ds = new BasicDataSource()

ds.setDriverClassName(driver)

ds.setUrl(url)

ds.setUsername(user)

ds.setPassword(password)

Class.forName(driver)

} catch (Exception e) {

e.printStackTrace()

}

}

这是一个JDBC读取配置文件连接数据库的示例代码,供参考!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8071644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存