sdxjwkq01 2021-06-18 15:52 采纳率: 100%
浏览 759
已结题

c++里面怎样计算char*长度啊

char* getImgData(const char* imageName){
    FILE* fp=NULL;
    fp=fopen(imageName,"rb");
    fseek(fp,0L,SEEK_END);
    int imageLength=ftell(fp);
    fseek(fp,0L,SEEK_SET);
    char buffer[imageLength];
    fread(buffer,sizeof(char),imageLength,fp);
    return buffer;
}

这样一个方法,好像读取的图片二进制数据,返回的char*,得到后只有一个数组指针地址,请问只有这个指针能计算数组长度吗?

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-06-18 15:54
    关注

    可以啊,用strlen函数计算

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • qfl_sdu 2021-06-18 15:59
    关注

    fread(buffer,sizeof(char),imageLength,fp);这一句改成:

    imageLength = fread(buffer,sizeof(char),imageLength,fp); 

    imageLength就是实际取到的长度。

    int imageLength=ftell(fp);这句话中,imageLength是整个文件的大小,有时候会比fread函数返回的值要大一些,所以用imageLength接收一下fread函数的返回值,得到实际读取的字节数。

    评论
  • 有问必答小助手 2021-06-21 17:50
    关注

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路
  • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
  • ¥20 将resnet50中的卷积替换微ODConv动态卷积
  • ¥15 通过文本框输入商品信息点击按钮将商品信息列举出来点击加入购物车商品信息添加到表单中
  • ¥100 这是什么压缩算法?如何解压?
  • ¥20 upload上传实验报错500,如何解决?(操作系统-windows)
  • ¥15 谁知道 ShaderGraph 那个节点可以接入 Particle System -> Custom Data