「Windows API」の版間の差分

文字コードやファイル入出力について修正。
(typo)
(文字コードやファイル入出力について修正。)
 
== ファイルの入出力 ==
Win32APIには、<code>CreateFile</code>関数などのファイル入出力の専用コマンドが用意されている。
簡単な方法を言う。
 
しかし、Win32APIでも標準C言語のfopen関数などのC言語規格の関数も使える。
 
 
初心者にとっては、fopenなどC言語規格の関数を使うほうが簡単だろう。
 
 
ウィザードで自動作成したコードに、ファイル入出力のコードを追記するのが、簡単である。
 
 
=== CreateFile ===
さて、CreateFile関数を使う場合、たとえば、「test.txt」というファイルを作成したい場合なら、
 
<source lang=c>
=== ファイルの読み書き ===
==== 総論 ====
まず、Win32APIには、<code>ReadFile</code>関数などのファイル入出力の専用コマンドが用意されている。
まず、Win32 API でテキストファイルなどの読み書きをする際、文字列型でTCHARなどのマルチバイト文字列を使っているので、原則的にテキストファイルの文字コードとしてUnicodeを使う。(ただし、文字列型でcharを使っている場合には、文字コードをANSIにする。なお、ウィンドウズの日本語の文字コードの Shift-JIS はANSIに含まれる。)
 
しかし、Win32APIでも標準C言語のfgets関数などのC言語規格の関数も使える。しかし、ワイド文字を扱う場合、fgetwsになることに注意しよう。
 
 
初心者にとっては、fgetwsなどC言語の関数を使うほうが簡単だろう。
 
 
さて、Win32 API でテキストファイルなどの読み書きをする際、文字コードに気をつけなければならない。
(なお、マイクロソフトの自称する「Unicode」は、実際は UTF-16形式 である(2018年9月の時点)。本来、「Unicode」といった場合、UTF-8やUTF-16やUTF-32なども含めるが、しかしマイクロソフト社はUTF-8やUTF-32を、Unicodeとは区別している。)
 
文字コードは、マイクロソフトの各ソフトウェアの標準設定に合わせておくのが、簡単である。
 
アクセサリ「メモ帳」などテキストエディタの文字コードは、WindowsではANSIが標準の文字コードなので、メモ帳で作成したテキストファイルの文字コードをANSIに合わせておくのが簡単である。
 
Visual Studio の文字コードは、いじらないのが安全であるが、もし、すでにいじってしまった場合、UnicodeがVisual Studioの標準設定なので、Unicodeにすればいい。
なので、テスト用のテキストファイルを作る際、Unicode に変換する必要がある。
 
また、各アプリの文字コードと、Visual Stuido の文字コードとは、上述のように、別々のコードの場合があるので、混同しないように気をつけること。
Windowsアクセサリ「メモ帳」で「名前をつけて保存」を選ぶと、ダイアログボックスの下のほうに「文字コード」という項目があるので、そこで 「Unicode」 を選んで保存すればいい。
 
 
20,150

回編集