ページ 11

文字列のポインタ

Posted: 2009年4月14日(火) 21:42
by 匿名
引数に""で囲む部分がある関数ですが

LoadGraphScreen( 0 , 0 , "test.bmp" , TRUE );

などは"test.bmp"を変数とかに変えてもいいんでしょうか?

Re:文字列のポインタ

Posted: 2009年4月14日(火) 21:50
by non
LoadGraphScreenという関数は知りませんが、
文字列を変数にしてもOKです。

Re:文字列のポインタ

Posted: 2009年4月14日(火) 21:51
by kazuoni
char *型であれば大丈夫です。

Re:文字列のポインタ

Posted: 2009年4月14日(火) 23:01
by 匿名
どうもありがとうございます。
ところで、char *型はchar型と何が違うんですか?

Re:文字列のポインタ

Posted: 2009年4月14日(火) 23:06
by hss12
char型だとtest.bmpのtの文字しか入りませんが
char *型だと、tから文字が始まりますって感じかな。

あとはメモリに順番に文字が入りここで文字終わりという情報も入るので
tの1文字でtest.bmpが分かるわけです。

Re:文字列のポインタ

Posted: 2009年4月15日(水) 00:10
by 匿名
なるほど、よくわかりました。
でも""で囲まれている中には%dとか%sとかは使えるんでしょうか?
使えるとしたらどこに引数を入れればいいんでしょうか?

Re:文字列のポインタ

Posted: 2009年4月15日(水) 00:24
by hss12
%dや%sはprintf ですね。

char *a = "test.bmp";
LoadGraphScreen( 0 , 0 , a , TRUE );

これでできませんか?

Re:文字列のポインタ

Posted: 2009年4月15日(水) 10:35
by バグ
>>でも""で囲まれている中には%dとか%sとかは使えるんでしょうか?
>>使えるとしたらどこに引数を入れればいいんでしょうか?

ひょっとして…

image01.bmp
image02.bmp
image03.bmp
image04.bmp
image05.bmp
image06.bmp
image07.bmp

みたいな事を想定されているのでしょうか?
もし、そうでしたら、sprintf関数を利用されると楽かと思います。

Re:文字列のポインタ

Posted: 2009年4月15日(水) 18:43
by 匿名
そうです、そういう事を想定していました。
sprintf関数は確かに使えそうですね。
ところで

char *name = "score.dat";

とかでも使えるでしょうか?

あと変数名の前に*を付けると何が変わるんですか?

Re:文字列のポインタ

Posted: 2009年4月15日(水) 19:12
by バグ
文字と文字列の違いについて調べてみてください。
それから、配列とポインタの関係についても調べるといいと思いますよ。頑張って♪(o^-')b

Re:文字列のポインタ

Posted: 2009年4月15日(水) 21:18
by 匿名
がんばりま~す
どうもありがとうございました