OSDN Git Service

SDL_OpenAudio 関連項目にSDL_AudioSpec構造体を追加 https://wiki.libsdl.org/SDL_OpenAudio?action...
[sdl2referencejp/sdl2referencejp.git] / SDL_RWread.html
index 24ab19e..6082c55 100644 (file)
@@ -38,6 +38,36 @@ if (rw != NULL) {
 </pre>\r
 </code>\r
 </p>\r
+<p>\r
+\83t\83@\83C\83\8b\82ð\93Ç\82Ý\8d\9e\82Þ\8a®\91S\82È\83R\81[\83h\82Í\8e\9f\82Ì\92Ê\82è\82Å\82 \82é. (\83T\83C\83Y\82ª\93¾\82ç\82ê\82é\82Æ\89¼\92è\82µ\82Ä\82¢\82é) (<a href="https://gitlab.com/wikibooks-opengl/modern-tutorials/blob/master/common-sdl2/shader_utils.cpp">OpenGL WikiBook</a>\82æ\82è):\r
+<code>\r
+<pre>\r
+char* file_read(const char* filename) {\r
+        SDL_RWops *rw = SDL_RWFromFile(filename, "rb");\r
+        if (rw == NULL) return NULL;\r
+\r
+        Sint64 res_size = SDL_RWsize(rw);\r
+        char* res = (char*)malloc(res_size + 1);\r
+\r
+        Sint64 nb_read_total = 0, nb_read = 1;\r
+        char* buf = res;\r
+        while (nb_read_total &lt; res_size && nb_read != 0) {\r
+                nb_read = SDL_RWread(rw, buf, 1, (res_size - nb_read_total));\r
+                nb_read_total += nb_read;\r
+                buf += nb_read;\r
+        }\r
+        SDL_RWclose(rw);\r
+        if (nb_read_total != res_size) {\r
+                free(res);\r
+                return NULL;\r
+        }\r
+\r
+        res[nb_read_total] = '\0';\r
+        return res;\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 <p>\r
 \82»\82ê\82¼\82êsize\83o\83C\83g\82Ì\8dÅ\91ånum\8cÂ\82Ì\83I\83u\83W\83F\83N\83g\82ð\93Ç\82Ý\8d\9e\82Ýptr\83|\83C\83\93\83^\82Ö\8f\91\82«\8d\9e\82Þ.\r
@@ -45,37 +75,37 @@ if (rw != NULL) {
 \83G\83\89\81[\82ª\94­\90\82µ\82½, \82Ü\82½\82Í\83f\81[\83^\83X\83g\83\8a\81[\83\80\82ð\8a®\91S\82É\93Ç\82Ý\8d\9e\82ñ\82¾\8fê\8d\87\82Í0\82ð\96ß\82·.\r
 </p>\r
 <p>\r
-<a href="SDL_RWread.html">SDL_RWclose</a>\82Í\8eÀ\8dÛ\82É\82Í<a href="SDL_RWops.html">SDL_RWops</a>\82Ìread\83\81\83\\83b\83h\82ð\8cÄ\82Ô\83}\83N\83\8d\82Å\82 \82é.\r
+<a href="SDL_RWread.html">SDL_RWread()</a>\82Í\8eÀ\8dÛ\82É\82Í<a href="SDL_RWops.html">SDL_RWops</a>\82Ìread\83\81\83\\83b\83h\82ð\8cÄ\82Ô\83}\83N\83\8d\82Å\82 \82é.\r
 </p>\r
 <h3>\97á</h3>\r
 <p>\r
 <code>\r
 <pre>\r
-int buffer[10];\r
-SDL_RWread(rwop, buffer, sizeof(buffer), 4);\r
+Uint32 buffer[10];\r
+SDL_RWread(rwop, buffer, sizeof(Uint32), 10);\r
 </pre>\r
 </code>\r
 32bit\90®\90\94\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\82±\82Æ\82ð\91z\92è\82µ\82Ä\82¢\82é. 40byte\82Ì\83f\81[\83^\82ð\93Ç\82Ý\8d\9e\82Ý, buffer\82É\8f\91\82«\8d\9e\82Þ.\r
-\82»\82ê\82¼\82ê\82Ìint\82Í4byte, 32bit\82Å\82 \82é.\r
+\82»\82ê\82¼\82ê\82ÌUint32\82Í4byte, 32bit\82Å\82 \82é.\r
 </p>\r
 <p>\r
 <code>\r
 <pre>\r
-long buffer[10];\r
-SDL_RWread(rwop, buffer, sizeof(buffer), 8);\r
+Uint64 buffer[10];\r
+SDL_RWread(rwop, buffer, sizeof(Uint64), 10);\r
 </pre>\r
 </code>\r
 64bit\90®\90\94\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\82±\82Æ\82ð\91z\92è\82µ\82Ä\82¢\82é. 80byte\82Ì\83f\81[\83^\82ð\93Ç\82Ý\8d\9e\82Ý, buffer\82É\8f\91\82«\8d\9e\82Þ.\r
-\82»\82ê\82¼\82ê\82Ìint(long)\82Í8byte\82Å, 10\8cÂ\82Ì\92l\82ð\93Ç\82Ý\8d\9e\82Þ.\r
+\82»\82ê\82¼\82ê\82ÌUint64\82Í8byte\82Å, 10\8cÂ\82Ì\92l\82ð\93Ç\82Ý\8d\9e\82Þ.\r
 </p>\r
 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
-<a href="SDL_RWwrite.html">SDL_RWwrite</a><br>\r
-<a href="SDL_RWseek.html">SDL_RWseek</a><br>\r
 <a href="SDL_RWclose.html">SDL_RWclose</a><br>\r
+<a href="SDL_RWFromConstMem.html">SDL_RWFromConstMem</a><br>\r
 <a href="SDL_RWFromFile.html">SDL_RWFromFile</a><br>\r
 <a href="SDL_RWFromFP.html">SDL_RWFromFP</a><br>\r
 <a href="SDL_RWFromMem.html">SDL_RWFromMem</a><br>\r
-<a href="SDL_RWFromConstMem.html">SDL_RWFromConstMem</a><br>\r
+<a href="SDL_RWseek.html">SDL_RWseek</a><br>\r
+<a href="SDL_RWwrite.html">SDL_RWwrite</a><br>\r
 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
 <a href="https://wiki.libsdl.org/SDL_RWread">SDL_RWread - SDL Wiki</a>\r
 <hr>\r