-// encutf8.cpp : \83R\83\93\83\\81[\83\8b \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B
-//
-
-#include "stdafx.h"
-
-
-int _tmain(int argc, _TCHAR* argv[])
-{
- FILE* fpIn;
- FILE* fpOut;
- fpos_t Length;
- int InLength;
- char* pInBuffer;
- int UTF16Length;
- wchar_t* pUTF16Buffer;
- int OutLength;
- char* pOutBuffer;
- _tsetlocale(LC_ALL, _T(""));
- if(argc != 3)
- {
- _tprintf(_T("\83}\83\8b\83`\83o\83C\83g\95¶\8e\9a\81i\83R\81[\83h\83y\81[\83W932\82Ü\82½\82ÍShift JIS\81j\82Å\8f\91\82©\82ê\82½\83e\83L\83X\83g\83t\83@\83C\83\8b\82ðUTF-8\82É\83G\83\93\83R\81[\83h\82µ\82Ü\82·\81B\n"));
- _tprintf(_T("\83R\83}\83\93\83h\83\89\83C\83\93\n"));
- _tprintf(_T("encutf8 [in] [out]\n"));
- _tprintf(_T("[in] \8c³\82Ì\83\\81[\83X\83t\83@\83C\83\8b\82Ì\83t\83@\83C\83\8b\96¼\n"));
- _tprintf(_T("[out] \95Û\91¶\90æ\82Ì\83t\83@\83C\83\8b\96¼\n"));
- return 0;
- }
- fpIn = _tfopen(argv[1], _T("rb"));
- if(!fpIn)
- {
- _tprintf(_T("\83t\83@\83C\83\8b\"%s\"\82ª\8aJ\82¯\82Ü\82¹\82ñ\81B\n"), argv[1]);
- return 0;
- }
- fseek(fpIn, 0, SEEK_END);
- fgetpos(fpIn, &Length);
- fseek(fpIn, 0, SEEK_SET);
- InLength = Length / sizeof(char);
- pInBuffer = new char[InLength];
- UTF16Length = InLength;
- pUTF16Buffer = new wchar_t[InLength];
- OutLength = InLength * 4;
- pOutBuffer = new char[OutLength];
- if(!pInBuffer || !pUTF16Buffer || !pOutBuffer)
- {
- _tprintf(_T("\83\81\83\82\83\8a\82ª\8am\95Û\82Å\82«\82Ü\82¹\82ñ\81B\n"));
- return 0;
- }
- fread(pInBuffer, 1, InLength, fpIn);
- fclose(fpIn);
- fpOut = _tfopen(argv[2], _T("wb"));
- if(!fpIn)
- {
- _tprintf(_T("\83t\83@\83C\83\8b\"%s\"\82ª\8dì\90¬\82Å\82«\82Ü\82¹\82ñ\81B\n"), argv[2]);
- return 0;
- }
- fwrite("\xEF\xBB\xBF", 1, 3, fpOut);
- UTF16Length = MultiByteToWideChar(CP_ACP, 0, pInBuffer, InLength / sizeof(char), pUTF16Buffer, UTF16Length);
- OutLength = WideCharToMultiByte(CP_UTF8, 0, pUTF16Buffer, UTF16Length, pOutBuffer, OutLength / sizeof(char), NULL, NULL);
- fwrite(pOutBuffer, sizeof(char), OutLength, fpOut);
- fclose(fpOut);
- return 0;
-}
-
+// encutf8.cpp : \83R\83\93\83\\81[\83\8b \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B\r
+//\r
+\r
+#include "stdafx.h"\r
+\r
+\r
+int _tmain(int argc, _TCHAR* argv[])\r
+{\r
+ FILE* fpIn;\r
+ FILE* fpOut;\r
+ fpos_t Length;\r
+ int InLength;\r
+ char* pInBuffer;\r
+ int UTF16Length;\r
+ wchar_t* pUTF16Buffer;\r
+ int OutLength;\r
+ char* pOutBuffer;\r
+ _tsetlocale(LC_ALL, _T(""));\r
+ if(argc != 3)\r
+ {\r
+ _tprintf(_T("\83}\83\8b\83`\83o\83C\83g\95¶\8e\9a\81i\83R\81[\83h\83y\81[\83W932\82Ü\82½\82ÍShift JIS\81j\82Å\8f\91\82©\82ê\82½\83e\83L\83X\83g\83t\83@\83C\83\8b\82ðUTF-8\82É\83G\83\93\83R\81[\83h\82µ\82Ü\82·\81B\n"));\r
+ _tprintf(_T("\83R\83}\83\93\83h\83\89\83C\83\93\n"));\r
+ _tprintf(_T("encutf8 [in] [out]\n"));\r
+ _tprintf(_T("[in] \8c³\82Ì\83\\81[\83X\83t\83@\83C\83\8b\82Ì\83t\83@\83C\83\8b\96¼\n"));\r
+ _tprintf(_T("[out] \95Û\91¶\90æ\82Ì\83t\83@\83C\83\8b\96¼\n"));\r
+ return 0;\r
+ }\r
+ fpIn = _tfopen(argv[1], _T("rb"));\r
+ if(!fpIn)\r
+ {\r
+ _tprintf(_T("\83t\83@\83C\83\8b\"%s\"\82ª\8aJ\82¯\82Ü\82¹\82ñ\81B\n"), argv[1]);\r
+ return 0;\r
+ }\r
+ fseek(fpIn, 0, SEEK_END);\r
+ fgetpos(fpIn, &Length);\r
+ fseek(fpIn, 0, SEEK_SET);\r
+ InLength = Length / sizeof(char);\r
+ pInBuffer = new char[InLength];\r
+ UTF16Length = InLength;\r
+ pUTF16Buffer = new wchar_t[InLength];\r
+ OutLength = InLength * 4;\r
+ pOutBuffer = new char[OutLength];\r
+ if(!pInBuffer || !pUTF16Buffer || !pOutBuffer)\r
+ {\r
+ _tprintf(_T("\83\81\83\82\83\8a\82ª\8am\95Û\82Å\82«\82Ü\82¹\82ñ\81B\n"));\r
+ return 0;\r
+ }\r
+ fread(pInBuffer, 1, InLength, fpIn);\r
+ fclose(fpIn);\r
+ fpOut = _tfopen(argv[2], _T("wb"));\r
+ if(!fpIn)\r
+ {\r
+ _tprintf(_T("\83t\83@\83C\83\8b\"%s\"\82ª\8dì\90¬\82Å\82«\82Ü\82¹\82ñ\81B\n"), argv[2]);\r
+ return 0;\r
+ }\r
+ fwrite("\xEF\xBB\xBF", 1, 3, fpOut);\r
+ UTF16Length = MultiByteToWideChar(CP_ACP, 0, pInBuffer, InLength / sizeof(char), pUTF16Buffer, UTF16Length);\r
+ OutLength = WideCharToMultiByte(CP_UTF8, 0, pUTF16Buffer, UTF16Length, pOutBuffer, OutLength / sizeof(char), NULL, NULL);\r
+ fwrite(pOutBuffer, sizeof(char), OutLength, fpOut);\r
+ fclose(fpOut);\r
+ return 0;\r
+}\r
+\r