| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3453 人关注过本帖
标题:我想生成一个不定长度的文件指针数组,怎么用?
只看楼主 加入收藏
qssssss
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2017-4-3
结帖率:25%
收藏
 问题点数:0 回复次数:4 
我想生成一个不定长度的文件指针数组,怎么用?
我想生成一个文件指针数组,里面的文件指针个数是不定的,请问应该怎么定义啊?谢谢大家
搜索更多相关主题的帖子: 生成 长度 文件 指针 数组 
2017-05-02 19:24
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
大致如下,代码中的其他部分,自己写吧。

程序代码:
FILE **Fp_Array, **temp;
const int INITSIZE = 1;
int currentsize;
int ix;

currentsize = INITSIZE;

Fp_Array = ( FILE ** )malloc( currentsize * sizeof ( FILE *) );
assert( NULL != Fp_Array );

for( ix = 0; ; ++ix )
{
    if( ix == currentsize )
    {
        currentsize += INITSIZE;
        temp = ( FILE ** )realloc( Fp_Array, currentsize * sizeof( FILE *) );
        assert( NULL != temp );
        Fp_Array = temp;
    }
}


[此贴子已经被作者于2017-5-3 20:40编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-02 20:22
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
文件数能确定在一定范围内,FILE *fp[N]也可以。
文件数不确定,就如动态指针数组。
2017-05-02 20:35
qssssss
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2017-4-3
收藏
得分:0 
回复 3楼 吹水佬
请问你能给我个小示例吗,谢谢
2017-05-02 22:59
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
以下是引用qssssss在2017-5-2 22:59:23的发言:

请问你能给我个小示例吗,谢谢

如果文件数能确定在一定有效范围内就简单点。
如:
#include <stdio.h>

#define FILES_MAX   10

FILE *_fopen(char *filename, int *filecount)
{
    if (*filecount < FILES_MAX)
    {
        *filecount += 1;
        return fopen(filename, "r");
    }
    return NULL;
}

void _fclose(FILE *fp[], int filecount)
{
    int i;
    for (i=0; i<filecount; ++i)
        fclose(fp[i]);
}

main()
{
    char buf[256];
    int i, filecount = 0;
    FILE *fp[FILES_MAX];
    fp[0] = _fopen("test1.txt", &filecount);
    fp[1] = _fopen("test2.txt", &filecount);
    puts(fgets(buf, 256, fp[0]));
    puts(fgets(buf, 256, fp[1]));
    _fclose(fp, filecount);
}

如果文件数不确定就复杂点,可以用文件链表来管理。
如:
typedef struct _FILES_
{
    char name[FILENAME_MAX];
    FILE *fp;
    struct _FILES_ * pNext;
} FILES, *PFILES;
2017-05-03 09:48
快速回复:我想生成一个不定长度的文件指针数组,怎么用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026301 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved