毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

在QT下怎么对文件头的读写啊

更新时间:2012-12-15:  来源:毕业论文

在QT下怎么对文件头的读写啊
请问一下在QT下怎么对 文件头 的读写啊?
注意看是 “文件头” 而不是 “头文件” 哟
网上百度了很久,几乎找不到先关资料,有也是貌似API或者是C语言的,可是我看不懂那些例子,有没有好心人可以教一下在QT下如何对 文件头 进行读写?

本人学生,最近在做一个功能,就是把 一个文件的文件头进行修改,此时它就会变成一个不可识别的文件类型,然后在把它的图标关联到一个自定义的图标里面。

有没有牛人提供相关的具体操作实现?拜托了·····

最近比较赶时间,就差这个功能了
 因为是用户选择的任何文件。。。  我听老师说每一个文件(除了txt和文件夹没有)都带有一个“文件头”,想要把文件头给保存下来,然后替换成自己的文件头,这个文件头要可以显示到自己预设的图标的。。。

有没有操作思路提供一下?LZ百度能力实在是弱爆了····
先QFile把文件加载过来, 然后QDateStream把文件和流关联起来. 然后直接操作流就可以了
QFile test_Data("13.png");
    读取
    if (!test_Data.open(QIODevice::ReadOnly)) //以只读和截断方式打开设备
    {
        qDebug() << "could not open file for writing";
        return;
    }
    QDataStream in(&test_Data);
    in.setVersion(QDataStream::Qt_4_8);
    in >> fileMagic;
    qDebug() << fileMagic <<endl;
    test_Data.close();

6楼的朋友你好,我是这样进行读取的,不知道读出来的数据是什么类型的呢?quint32吗?
我想把一个文件的第一个quint32读出来,保存下来,然后进行修改一个已知的quint32值,然后文件就会变得无法识别,然后再修改回原来的值,这样文件就能打开了。

这思路感觉起来是没问题的,怎么我实际操作起来就不行?可能是因为我对Qt的数据类型不了解,转换不好,导致修改之后再修改回来文件依然损坏

所以Qt要怎么修改呢?
,比如一个文件里面的内容是 “1234567890”

破坏文件就是 直接写入前4位(直接写入好像会覆盖掉原值吧?)  “abcd567890”

此时文件变得无法识别。破坏之前把前4位保存下来(1234)

恢复文件就是直接写入前4位(提取之前保存的) 变成“1234567890”

而看你的代码,貌似可以做的更绝一点,就是直接保存整个文件的内容(你代码的ba),破坏就随便写入,恢复的时候就把(ba)写回去0.0

其实我现在一直在做一个小软件,老师让我做的,实现文件加密功能,加密的实际就是保存文件的“文件头”然后再写入一个自定义的值,解密的时候就把文件头给写回去。

我奇怪的是,这个写入的话,不是直接覆盖掉同位置的内容的么?读出来的文件头的类型是不是quint32?


后来自己摸索摸索着写出最终有用的代码,在回过头来看你的代码,发现原来自己摸索了那么久,最终的代码就是你这个,不过跟之前相比现在已经更加理解了这段代码这个例子我反复看了,按照上面来,还是不行,估计跟我读出来的不一样,我qDebug()显示的是一长串的数字。。
    quint32 fileMagic = 305419896;
    in >> fileMagic;
这样。。。  因为读的时候,显示出来的就是  305419896.。。。。要怎么操作呢?先谢谢了···我实在是找了太久了。。。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。