2013-10-01から1ヶ月間の記事一覧

VC++でUnicode文字の出力を試みる→MessageBoxでの出力はできたけど標準出力の方法分からず

C++

前回の記事に引き続いて、VC++で日本語文字を扱う方法についてあれこれ調べている。調べれば調べるほど、開いてはいけない蓋を開いているような気がしてならない。 今回はUnicode文字をVC++で出力することを目指した。結論から言うと、MessageBoxを使ってポ…

C/C++での日本語文字列の扱い、どうすればよいか

C++

C/C++でどう日本語の文字列を扱えばよいのか、いまだによく分かっていない。頭を整理するために、自分が理解している範囲のことを一度まとめてみる。嘘を書いているかもしれない。また、環境はWindowsのみを想定している。 マルチバイト文字列とワイド文字列…

VC++のデバッグ実行で「*.cppが見つかりません」と出る問題への対策

Visual Studio 2013にて、ファイルの文字コードを変更した後、デバッグ実行をしようとすると、以下のように「*.cppが見つかりません」「現在の呼び出し履歴のフレームのソースを表示するには、*.cppを見つける必要があります」というエラーが出てステップ実…

.(ドット)で始まる設定ファイルを作るもっとも簡単な方法

Windowsのエクスプローラーにて .(ドット)で始まる設定ファイルを作ろうとすると、「ファイル名を入力してください。」というエラーが出てファイル作成に失敗する。.(ドット)で始まるファイルを作るもっとも簡単な方法は、ファイル名の末尾にもドットを加え…

Windows 7にVS2013をインストールしようとして軽くはまる

先日提供開始されたMicrosoft Visual Studio Express 2013をWindows 7にインストールしようとしてはまった話。適当にダウンロードしたインストーラを実行すると、「セットアップがブロックされました」「このバージョンのvisual studioを使用するには、コン…

Python 3ではまったこと

Python 2.xの知識もたいしてないのにもかかわらずPython 3.xのコードを書いていると、細かい違いでハマることが想像以上に多い。ここではそんなハマりどころをまとめておく。 printが文から式になった Python 2.xでは print "aaa"と書けたのに、Python 3.xで…

代替トークンを使ってC++っぽくないC++コードを書く

C++

C/C++には代替トークン(alternative tokens)なるものがあることを知った。まず下のコードを見てほしい。 %:include <iostream> using namespace std; int main() <% int array<:100:>; for (int i = 0; i < 100; ++i) <% array<:i:> = i; if ( i % 3 == 0 and (not i % 5 == 0)) <%</:i:></:100:></iostream>…

C++11のthreadで遊んでみる その3 - condition_variable編

C++

この記事は続き記事です。目次→C++11のthreadで遊んでみる - minus9dの日記 - 今回はC++11のcondition_variableを使ってみる。condition_variableは日本語ではそのまま条件変数と訳される。条件変数は、あるスレッドを待ち状態にして、ある条件が揃ったとき…