2011-05-12 3 views
0
#include "Shader.h" 
#include <cstring> 
#include <iostream> 
#include <cstdlib> 
using namespace std; 

static char* textFileRead(const char *fileName) 
{ 
    char* text; 

    if (fileName != NULL) 
    { 
     FILE *file = fopen(fileName, "rt"); 

     if (file != NULL) 
     { 
       fseek(file, 0, SEEK_END); 
       int count = ftell(file); 
       rewind(file); 

      if (count > 0) 
      { 
       text = (char*)malloc(sizeof(char) * (count + 1)); 
       count = fread(text, sizeof(char), count, file); 
       text[count] = '\0'; 
      } 
      fclose(file); 
     } 
    } 
    return text; 
} 

ための方法を見つけることができません。これをビルドしてエラーをチェックすると、fopen()、fseek()、ftell()、rewind()、およびfclose()がこのスコープで宣言されていないとエラーが発生します。これらのエラーを取り除くにはどうすればよいですか?C++ファイルIO - これは私が従うことをしようとしているチュートリアルで見つかったシェーダプログラムのために持っているもので、ファイルIO関連のもの

+0

間違いシェーダプログラムではありません。シェーダを設定するためのホストプログラムの一部かもしれません。 –

答えて

2

あなたはC++プログラムでCファイルIOを使用しています。 iostream.hをインクルードしていますので、使用してください。

http://www.cplusplus.com/reference/iostream/

+3

これは 'iostream.h'ではなく、' iostream'だけです。また、ファイル関連のストリームは ''になっています。 – Xeo

+0

または、CスタイルのIOにはを含めてください。しかし、答えで述べたように、C++プログラムでを使うのは確かに良い方法です。 –

2

は、次のように標準IO用のヘッダーファイルを追加する必要があります。

#include <stdio.h> 

または(C++優先)

#include <cstdio> 
関連する問題