qt 读取一个txt文件,把里面的内容已二进制的方式存储到另一个文件里面。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 读取一个txt文件,把里面的内容已二进制的方式存储到另一个文件里面。相关的知识,希望对你有一定的参考价值。

读取一个txt文件,把里面的内容已二进制的方式存储到另一个文件里面。这另一个文件还得是.pcp格式的。思路我都有,但是我就是想有个代码,看看。我该怎么写。

你用的是C呀。用Qt的话,我有段代码可以给你参考下。
//写二进制数据
QFile dataFile(info_file_name);
if(!dataFile.open(QIODevice::WriteOnly))
return -1;

QDataStream out(&dataFile);
out.setVersion(QDataStream::Qt_4_4);
out.setByteOrder(QDataStream::LittleEndian); //编码方式:低字节在前
for(int i=0;i<command_datas.count();i++)

out<<……;

dataFile.close();
//读txt数据
QFile infoFile(info_file_name);
if(!infoFile.open(QIODevice::ReadOnly))
return -1;

QTextStreamin(&infoFile);
while(!infoFile.atEnd())
in>>……

infoFile.close();追问

out 和in的地方没有懂。。

追答

>>输入和>
当然,名字你随便取,就是读入和读出数据。
比如:
QFile file(filename);
file.open(QIODevice::ReadOnly);

QTextStream read(&file); //输入流对象 read
QListstr;
while(!file.atEnd())
QString s;
read>>s; //读入数据
str.append(s);

file.close();

参考技术A 美美妈妈妈妈妈妈妈妈妈妈密密麻麻

C# 读取TXT文件内容到listview

在TXT文件中保存有一些文件的路径,现在我会读取TXT文件里面的内容但是怎么把那些内容显示到listview中呢?谢谢各位给出代码.

先使用文件操作流读入文本,然后再用listView1.Columns.Add(字符串);进行赋值操作。

C#读写txt文件的两种方法:
1.添加命名空间
  System.IO;
  System.Text;

2.文件的读取
  (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。
byte[] byData = new byte[100];
char[] charData = new char[1000];
public void Read()

try

FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
file.Seek(0, SeekOrigin.Begin);
file.Read(byData, 0, 100); //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
Decoder d = Encoding.Default.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
file.Close();

catch (IOException e)

Console.WriteLine(e.ToString());



  (2).使用StreamReader读取文件,然后一行一行的输出。
public void Read(string path)

StreamReader sr = new StreamReader(path,Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)

Console.WriteLine(line.ToString());



3.文件的写入
  (1).使用FileStream类创建文件,然后将数据写入到文件里。
public void Write()

FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
//获得字节数组
byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!");
//开始写入
fs.Write(data, 0, data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();


  (2).使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。
public void Write(string path)

FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
sw.Write("Hello World!!!!");
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
参考技术A //读取备忘录中的记录
private void GetRead()

string filenametxt = null;
ArrayList arelist = new ArrayList();//定义一个集合用于存储文本的命名
//获取程序启动的路径
string filepathtxt = System.Windows.Forms.Application.StartupPath + "\\memo\\";
DirectoryInfo dref = new DirectoryInfo(filepathtxt);//获取备忘录文件的路径
FileInfo[] filetxt = dref.GetFiles();//获取备忘录文件的集合
foreach (FileInfo filetxt2 in filetxt)

filenametxt=filetxt2.Name;//获取文本的名称
string hh= filetxt2.FullName;//文件的完整路径
string txttime =filenametxt.Substring(0, filenametxt.IndexOf("."));//获取截取后的文件名称
arelist.Add(txttime);//保存所有的文件名称
StreamReader sr1 = new StreamReader(hh, Encoding.GetEncoding("Gb2312"));
while (sr1.Peek() >= 0)

string row = sr1.ReadToEnd();

string chan = this.Getsubstring(row) +" " +"【"+txttime+"】";
ltwaind.Items.Add(chan);//把读取到的数据添加到listview中

sr1.Close();
sr1.Dispose();



本回答被提问者和网友采纳
参考技术B txt文件读取后 打入datatable 然后绑定listview

以上是关于qt 读取一个txt文件,把里面的内容已二进制的方式存储到另一个文件里面。的主要内容,如果未能解决你的问题,请参考以下文章

qt读取文件内容全部为浮点数的二进制文件

MFC中如何查询D盘指定文件夹中的txt文件,并且按文件名查询后输出里面的内容?

Qt中如何将一个文本文件打开后里面数据以二进制读取,.txt中数据为01 0c cd 04 00 03……

java如何读取txt文件内容?

matlab读取内容为二进制的TXT文件

在Qt中以二进制形式读取0和1文本文件[重复]