首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在C中处理文件块?

如何在C中处理文件块?
EN

Stack Overflow用户
提问于 2013-11-17 04:44:26
回答 1查看 50关注 0票数 0

说到C编程语言,我还是个初学者。

我想读取内存中1 KB的文件块,并将其存储在内存中的HashTable中。为了处理冲突,我的HashTable中的每个存储桶都有一个双向链表。

假设我将链表的一个节点建模为具有下一个和上一个指针的结构。我应该如何存储这个1 KB的文件块?

如有任何建议或想法,欢迎光临。

EN

回答 1

Stack Overflow用户

发布于 2013-11-17 04:47:33

代码语言:javascript
代码运行次数:0
运行
复制
typedef struct struct_FILEBLOCK FILEBLOCK ;

struct struct_FILEBLOCK {
    char             *data ;
    FILEBLOCK        *next ;
    FILEBLOCK        *prev ;
    } ;

那么你所有的实际数据块可以恰好是1k长,并且你的列表元素很小。

代码语言:javascript
代码运行次数:0
运行
复制
FILEBLOCK *fballoc(void)
{
FILEBLOCK *fb = malloc(sizeof(FILEBLOCK)) ;
fb->data = malloc(1024) ;
fb->next = 0 ;
fb->prev = 0 ;
return fb ;
}

然后

代码语言:javascript
代码运行次数:0
运行
复制
void fbread(int fh,FBLOCK *fb)
{
    read(fh,fb->data,1024) ;
    /* whateva */
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20023645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档