FLIE结构成员值得测试例程及文本读取例程

代码如下:

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
    FILE *fp;
    fp=fopen("1.txt","r");
    if(fp==NULL)
    {
        printf("can't open this file!");
        exit(EXIT_FAILURE);
    }


    printf("%s \n",fp->_base);
    printf("%d \n",fp->_bufsiz);
    printf("%d \n",fp->_charbuf);
    printf("%d \n",fp->_cnt);
    printf("%d \n",fp->_file);
    printf("%d \n",fp->_flag);
    printf("%s \n",fp->_ptr);
    printf("%s \n",fp->_tmpfname);


    return 0;
}


测试结果如下:


接下来是一个读取文本内容并输出的程序,使用了fseek,ftell,fread函数。因为作者主要是写GLSL用的,所以函数参数直接传递文件名,而不是一般的命令行形式。


#include <stdio.h>
#include <stdlib.h>

char *ReadTextFile(char *file);//读取文本内容,返回存储内容区域指针

int main(int argc,char *argv[])
{
    char *str;

    str=ReadTextFile("1.txt");
    printf("%s\n",str);

    return 0;
}
/****************************************************************/
/** \brief 读取文本内容,并输出。
 * \param 参数为文件名
 * \return 返回数据区域的指针
 * \author:孤月天心
 */
char *ReadTextFile(char *file)
{
    int length;  //文件的长度
    char *base;  //用于存储文本内容
    FILE *fpp;
    fpp=fopen("1.txt","r");

    if(fpp==NULL)
    {
        printf("can't open this file!");
        exit(EXIT_FAILURE);
    }

    fseek(fpp,0,SEEK_END);
    length=ftell(fpp);
    base=(char *)malloc(sizeof(char)*(length+1));
    fseek(fpp,0,SEEK_SET);  //将文件指针移至文件头,如无此句则下句复制为空。
    length=fread(base,sizeof(char),length,fpp); //将文本内容复制到base所指区域。
    base[length]='\0';
    fclose(fpp);

    return base;

}










测试如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值