如何在Qt中读取PNG文件,并写入.dat文件中

如何在Qt中读取PNG文件,并写入.dat文件中,第1张

在c语言中,创建单链表需要使用到malloc函数动态申请内存;文件的读写需要首先使用fopen函数打开文件,然后使用fscanf,fgetc, fgets,fprintf,fputc,fputs等函数读写函数,最后读写完毕要使用fclose函数关闭函数。

下面的源程序展示了关于单链表如何从文件中读取数据和往文件里存入数据。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

#include<<a href="https://www.baidu.com/s?wd=stdio.h&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nyfLmHDYnWT3uWc3nvN-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6drjRsPHf1" target="_blank" class="baidu-highlight">stdio.h</a>>

#include<<a href="https://www.baidu.com/s?wd=stdlib.h&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nyfLmHDYnWT3uWc3nvN-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6drjRsPHf1" target="_blank" class="baidu-highlight">stdlib.h</a>>

#include<memory.h>

typedef struct node {

int data

struct node *next

}node

//从文件中读取数据存入链表

node *createlink()

{

node *head =(node*)malloc(sizeof(node))

int t

node *p

node *q

p=q=head

FILE * r= fopen("input.txt","r")

if(r==NULL)

{

printf("打开文件失败!")

return NULL

}

while(fscanf(r,"%d",&t)!=EOF)

{

q= (node*)malloc(sizeof(node))

q->data=t

p->next=q

p=q

}

p->next=NULL

return head

}

//输出链表到屏幕和文件output.txt

void outlink(node *head)

{

node *p=head->next

FILE *w =fopen("output.txt","w")

if(w==NULL)

{

printf("打开文件失败!")

return

}

while(p)

{

//输出链表节点数据到屏幕

printf("%d ",p->data)

//输出链表节点数据到文件output.txt

fprintf(w,"%d ",p->data)

p=p->next

}

printf("\n")

fprintf(w,"\n")

fclose(w)

return

}

int main()

{

node *head

int n,m

head=createlink()

outlink(head)

system("pause")

return 0

}

1、打开需要拆分的.dat文件,并读取其中的数据。可以使用QFile和QDataStream类来读取二进制数据。

2、查找帧头。因为每个帧的长度是不固定的,所以必须通过查找帧头来确定每个帧的开始位置。帧头通常包含一些标识符或者其他元数据,用于描述该帧的内容。

3、拆分.dat文件。依次查找每个帧的开始位置,将其截取下来并存储到一个单独的文件中,直到整个.dat文件被拆分完毕。拆分时可以使用QFile类来创建和保存新的文件。


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

原文地址: https://outofmemory.cn/tougao/12006632.html

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

发表评论

登录后才能评论

评论列表(0条)

保存