DxLibでの文字列変数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
usami

DxLibでの文字列変数

#1

投稿記事 by usami » 16年前

とても初歩的な質問なのですが、
文字列を格納する便利な変数とかないのですか?
(『”~”』を格納できる変数)
教えてください。

たとえばプログラムとしてはこんな感じ?

#define STRING "こんにちは"

(←ここ) str;
//char str; だと、文字列の長さの関係で、不具合があるっぽいです。
int color=GetColor(255,255,255);

DrawString(0, 0, str, color);


あるいはDxLibの関数で、
LPCTSTR型を使ったりするのでも、構いません。
Windowsプログラミングだと、フォントとかHDCとか面倒なので、
是非楽ちんがしたいのです。

その他、冴えた方法があれば、是非教えてください。

チルチル

Re:DxLibでの文字列変数

#2

投稿記事 by チルチル » 16年前

char *型でどうでしょうか?

usami

Re:DxLibでの文字列変数

#3

投稿記事 by usami » 16年前

ありがとうございます。
うまくいきました。

char* str=STRING;

是非また教えてください。

チルチル

Re:DxLibでの文字列変数

#4

投稿記事 by チルチル » 16年前

でも冷静に考えたら、これはscanf関数とかには使えないかもしれません・・

バグ

Re:DxLibでの文字列変数

#5

投稿記事 by バグ » 16年前

std::stringでは駄目なのかな?(^_^;)

usami

Re:DxLibでの文字列変数

#6

投稿記事 by usami » 16年前

…ですか。
でも、とりあえず、現状では、計算結果などを扱う文字列としてでなく、
単純に画面に表示することが目的なので無問題です。

変数に格納できたら、ケース分岐とかで、いろんなところが楽ちんかなー、とか考えていただけなので。

usami

Re:DxLibでの文字列変数

#7

投稿記事 by usami » 16年前

> std::stringでは駄目なのかな?(^_^;)

C++は勉強不足でよくわからないです。すいません。
どういう風に使うのか詳しく教えていただけたらと思います。



あと、さきの回答が遅れたためちぐはぐになっております、見苦しくてすいません。

バグ

Re:DxLibでの文字列変数

#8

投稿記事 by バグ » 16年前

std::stringの簡単なサンプルを書いてみました。
慣れるまでは分かりづらいかもしれませんが、便利ですよ。
#include <cstdio>
#include <iostream>
#include <string>

int main(void)
{
	// strを"01234"で初期化する
	std::string str("01234");

	// strをcoutを使用して表示
	std::cout << str << std::endl;

	// strをprintfを使用して表示
	// c_str()関数を使用すると、std::string内の文字列へのポインタ(const char*型)を取得できる
	printf("%s\n", str.c_str());

	// strの最後尾へ文字列"56"を付け足す
	str += "56";
	std::cout << str << std::endl;

	// 比較用文字列を用意する
	std::string cmp("0123456");

	// 2つの文字列を比較してみる
	if (str == cmp)
	{
		std::cout << "同じです" << std::endl;
	}
	else
	{
		std::cout << "違います" << std::endl;
	}

	return 0;
}

usami

Re:DxLibでの文字列変数

#9

投稿記事 by usami » 16年前

丁寧な回答ありがとうございます。
とてもわかりやすかったです。

現状、DxLib=C,Windowsプログラミングをメインにしているので、
なかなかC++までは手が届かないのですが、
今後の参考にさせていただきたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る