最近想不借用超级宝典第五版的封装类自己完整写一个着 {MOD}器,但是一直读取shader文件失败,原因在于相对路径的写法错误。
codeblock 下如下写即可读取
#include
#include
char *ReadText(char *fn);
int main()
{
char *ff;
ff=ReadText("first.vert");
printf("%s
",ff);
return 0;
}
char *ReadText(char *fn)
{
FILE *fp;
char *content = NULL;
int count=0;
if (fn != NULL)
{
fp = fopen(fn,"rt");
if (fp != NULL)
{
fseek(fp, 0, SEEK_END); // 重定位流(数据流/文件)上的文件内部位置指针
// int fseek(FILE *stream, long offset, int fromwhere);
count = ftell(fp); // long ftell(FILE *stream); 返回当前文件指针,是int类型
rewind(fp); // void rewind(FILE *stream); 将文件内部的位置指针重新指向一个流(数据流/文件)的开头
if (count > 0)
{
content = (char *)malloc(sizeof(char) * (count+1)); // extern void *malloc(unsigned int num_bytes);
count = fread(content,sizeof(char),count,fp); // 从一个流中读数据
//函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
// buffer
// Storage location for data.
//
// size
// Item size in bytes.
//
// count
// Maximum number of items to be read.
//
// stream
// Pointer to FILE structure.
content[count] = '