C++讀取文件問題
static char* readShaderSource(const char* shaderFile)
{
FILE *fp;
fopen_s(&fp, shaderFile, "r");
if ( fp == NULL ) { return NULL;
}
fseek(fp, 0L, SEEK_END);
long size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
char* buf = new char[size + 1];
fread(buf, 1, size, fp);
buf[size] = '\0';
fclose(fp);
return buf;
}
【C++讀取文件問題】因為windows換行符實際上是
\r\n
兩個字節,因此最後 size 由偏移量計算出來的值會比讀入的值多,也就是數組開大了。此時把數組的最後一位置為終止符,多出來的就變成了屯屯屯屯。推荐阅读
- opencv|opencv C++模板匹配的简单实现
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- ssh生成公钥秘钥
- Android系统启动之init.rc文件解析过程
- c++基础概念笔记
- 微信小程序基础知识
- 误删/清空.bashrc文件/内容