いろいろと質問が・・・乱数について、ファイルに出力するときに改行ができない、CStringに2バイト文字を代入するには?など

[戻る]
MKランド 2003/10/03(金) 16:08:05
こんにちは、
分からないところがいくつかあるので、よろしくお願いします。

環境:
WindowsXP
Visual C++6.0
MFC

(1) XXXXX.dllについて

プログラムを作ったんですが、VC++がインストールされていないPCでは、
「XXXXX.dllが必要です」といわれて実行できません。
dllがなくても実行できるようにするにはどうすればいいのですか?

(2) 乱数について

乱数を発生させるときは、rand()を使っているのですが、
なぜか値がランダムになりません。(毎回同じパターンになります)
これは、当たり前のことなんですか?
また、本当にランダムにするには、どうすればいいですか?

(3) ファイルに出力するときに改行ができない

CFileクラスを使い、改行を出力(Write('\n', 1))しようとしたら、
十字のようなマークが出て改行できません。
どうしたらいいですか?

(4) CStringに2バイト文字を代入するには?

CString st;
st = "あ";
とやれば代入はできるのですが、
文字コードで代入するにはどうしたらいいですか?
st = 0x3335;
とかしたいのですが、char型に値が切り捨てられてしまいます。


以上4つを教えてください。
よろしくお願いします。

ku 2003/10/03(金) 16:40:40
1.メニューからプロジェクトの設定を選び
「一般」タブを選び、Microsoft Foundation Classで
スタティックライブラリを使用を選ぶ

2.rand()を呼ぶ前にsrand(time(NULL))等とやりましょう

3.十字のようなマークというのは分からないけど
CFile::typeTextを使うか、"\r\n"を出力するようにするか
どちらかで解決すると思います

4.st = "\x33\x35";
別の方法だと、こんな感じとかかな
char a[3] = {0x33, 0x35, 0};
st = a;

質問の仕方については、少し考えた方がよいと思う

暇つぶし 2003/10/03(金) 21:15:38
1.
>スタティックライブラリを使用を選ぶ
それだけとは限らんよ。
XXXXX.dllを名前を隠さず河口よ質問者くん。

2.
kuの通りで。

3.
十字のマークは文字化けした物だとおもうけど。
CFile::typeTextは派生しないと使えない。
何故ですか?Microsft殿!

4.
言うことナス

以上、暇つぶしですた。

PATIO 2003/10/06(月) 10:00:48
まず、一つのスレッドに複数の質問を一度に投げない方が良いです。
こういう掲示板と言うのは後で検索するTIPS的な役割も兼ねていますので
検索性が落ちます。
基本的に一つのスレッドでは一つの質問にしましょう。
この辺はあとで自分が検索する立場になるとわかったりするんですけれど。

回答については既につけてあるので付け加えません。
ではでは。

古いスレッドには追加発言できません。