■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

***すれ立てるまでもない質問はここで 第50刷***
251 名前:デフォルトの名無しさん :04/02/06 12:56
フリーのCコンパイラはないのですか?

252 名前:しょすんすぁ :04/02/06 13:09
なるほど、配列が既にポインタだったのでぃすね…(語弊がありそうだけど)
できました〜。どもです☆ミ

253 名前:デフォルトの名無しさん :04/02/06 13:09
>>251
Windows用なら、
Borlandのフリーコンパイラがある。
ttp://www.borland.co.jp/cppbuilder/freecompiler/
Win32APIもつかえる。
あとは、cygwinとか。
Linuxなら〜、ってリナックス使えるなら、そんな質問しないか。

254 名前:デフォルトの名無しさん :04/02/06 13:09
>>251
あります。

タダで最強!フリーC/C++コンパイラ
http://pc2.2ch.net/test/read.cgi/tech/1035882599/

255 名前:デフォルトの名無しさん :04/02/06 13:19
>>253、254 どうも。 ちょこっとかじってみます。

256 名前:デフォルトの名無しさん :04/02/06 14:13
あるよ

257 名前:チャイナ :04/02/06 14:24
アルヨ

258 名前:デフォルトの名無しさん :04/02/06 14:27
有るアルヨ。

259 名前:デフォルトの名無しさん :04/02/06 16:02
>>258
似非中国人のアルヨってのは有る無しのアルらしいから有るアルヨは変。


260 名前:デフォルトの名無しさん :04/02/06 16:09
MS VC++6.0で質問させて下さい。

Main.cppと
Kouzoutai.cppを同じプロジェクトに
挿入しています。

Main.cppから
Kouzoutai.cpp内の構造体の
変数に値を入れたい時、
Main.cppではどう宣言すればよろしいでしょうか?

261 名前:デフォルトの名無しさん :04/02/06 16:15
その構造体の定義を行い、extern type name;

262 名前:デフォルトの名無しさん :04/02/06 16:20
構造体の定義というのは

struct 構造体名
{
}
構造体名

みたいなのがそのまま必要…?

263 名前:デフォルトの名無しさん :04/02/06 16:27
質問です。
p = malloc(size);
で確保したメモリの先頭ポインタをpに返すようですが
この後これを開放する時に
free(p);
で出来るようですが
先頭ポインタしかわからないのに(サイズを指定してないのに)確保した全ての領域を開放出来るのでしょうか?

264 名前:デフォルトの名無しさん :04/02/06 16:34
>>262

普通、構造体の宣言はヘッダに書き、
Main.cppとKouzoutai.cppの両方にインクルードする。

>>263
もちろん出来る。
取得したヒープメモリのサイズは、Cのライブラリが覚えている。

265 名前:デフォルトの名無しさん :04/02/06 16:35
内部的に管理されてる。

266 名前:263 :04/02/06 16:41
>>264
>>265
どうもありがとうございます。
理解できました。

267 名前:262 :04/02/06 16:44
ありがとうございました。

無事構造体を使う事ができました。

268 名前:デフォルトの名無しさん :04/02/06 17:41
今、PC98でN88BASICを使ってゲームを作ってるのですが
市販ソフトでは、ポリゴンや半透明処理が行われてたりしますが
ああいうのはLibraryのようなものがあるのでしょうか?

269 名前:デフォルトの名無しさん :04/02/06 17:43
マシン語のライブラリだな
多くはその会社の財産か、高い金出して買ってきたかどっちか

270 名前:デフォルトの名無しさん :04/02/06 17:48
>>269
オプソではないんですか?

271 名前:デフォルトの名無しさん :04/02/06 17:52
フェイクメ−ルのURLキボンヌ!


272 名前:258 :04/02/06 17:53
>>259
へえ、そうだったんだ。
俺はまた無学な奴が中国語のアル化というのを聞いて、
何でもかんでも語尾をアルに変えれば良いんだろうとか勘違いして
漫画とかで使ったのが定着したのかと。
べんきょーになった。

273 名前:デフォルトの名無しさん :04/02/06 18:01
もともと満州で発生したんだよ

274 名前:デフォルトの名無しさん :04/02/06 20:24
(float*) p
ってのをみたんだけど、これは
float *p
とどう違うんですか?

275 名前:デフォルトの名無しさん :04/02/06 20:39
>>274
(float*)p は型キャスト、
float *p は変数宣言でしょう。

276 名前:デフォルトの名無しさん :04/02/06 21:35
>>275
型キャストって、double型の変数aをint型に一時的に置き換える、みたいなやつですよね。
じゃあこの場合は、pをfloat型のポインタとして表しているってことでいいんでしょうか?

277 名前:デフォルトの名無しさん :04/02/06 21:38
そゆことですな

278 名前:デフォルトの名無しさん :04/02/06 21:54
すいません、なんだか最近交際メールがひどいんですけど、
誰かつぶしてもらえますか?
kousai-information@5525151.to とゆうアドレスで入ってきます。
私は難しい名前のアドレスに変えたのにまだがんがん入ってきます。
本当に助けてください。お願いします。

279 名前:デフォルトの名無しさん :04/02/06 22:02
リストボックスの表示を早くするため(件数が多いので時間がかかる)、
仮想リストボックスのサンプルプログラムを探しています。
が、検索してもdelphyやVBのページしかヒットしませんでした。

どなたか、C言語(C++)のサンプルプログラムが
載っているホームページを教えていただけないでしょうか?


280 名前:デフォルトの名無しさん :04/02/06 22:10
http://codeguru.earthweb.com/listview/virtualListview.html
だいたいそんなのはcodeguruがやってるからねぇ。
ん?仮想「リストボックス?」

281 名前:デフォルトの名無しさん :04/02/06 22:11
>>279
追加するのが遅いように見えるんじゃない?
追加するときにEnableにすりゃ速くなるんじゃなかったかな

282 名前:デフォルトの名無しさん :04/02/06 22:15
cygwin の g++を使って環境に依存しないコードを書きたいと思っています。
まずmainとWinMainが問題なのでスタティックライブラリに押し込めてしまって、
ライブラリ内のmainかWinMainから void Main() を呼び出すようにしようと思いました。
○ライブラリ側 main.cpp
#if defined(TARGET_WIN)
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
  ... 引数の保存など ...
  Main(); return 0;
}
#else
int main(int argc, char* argv[]) {
  Main(); return 0;
}
を g++ -c main.cpp -o main.o; ar r libmylib.a main.o とし、
○アプリ側コード app.cpp
#define TARGET_WIN (1)
void Main()
{
}
を g++ -c app.cpp -o app.o とし、
最後にリンクしようとして
g++ app.o libmylib.a としましたが、_WinMain@16 が定義されていないというエラーが返ってきます。

何が起こっているのかわかりません。
ライブラリの中身までWinMainを探しに行ってくれないのでしょうか?


283 名前:282 :04/02/06 22:16
ちょっと描き間違えました。
#define TARGET_WIN (1)
は main.cpp の方(ライブラリ側)に書いています。

284 名前:デフォルトの名無しさん :04/02/06 22:42
>>280
ありがとうございます。
正直いって自分のレベルを超えていますがw
一行ずつ確認して勉強していきたいと思います。

>>281
漏れのプログラムは件数が多くなると処理が重くなって固まってしまいますw
多分作りが悪いせいだと思いますが。


285 名前:デフォルトの名無しさん :04/02/06 23:03
>>284
挿入毎に再描画がかかってるんじゃない?

286 名前:デフォルトの名無しさん :04/02/06 23:07
#include <windows.h>

int main (int argc, char **argv);

int APIENTRY WinMain (struct HINSTANCE__ *hInstance,
struct HINSTANCE__ *hPrevInstance,
char *lpszCmdLine,
int nCmdShow)
{
return main (__argc, __argv);
}

int main (int argc, char **argv)
{
MessageBox (NULL, "(・3・)エルァー", NULL, MB_OK);
return 0;
}

287 名前:デフォルトの名無しさん :04/02/06 23:07
>>285
あ、そうかもしれません。
アフォ過ぎる。
どこを触ればいいんだろう。。。


288 名前:デフォルトの名無しさん :04/02/06 23:18
LockWindowUpdate( HWND hWnd );
// ここで挿入
UnlockWindowUpdate( HWND hWnd );

もしくは

CWnd::LockWindowUpdate();
// ここで挿入
CWnd::UnlockWindowUpdate();

289 名前:デフォルトの名無しさん :04/02/06 23:28
CってむずかC?

290 名前:デフォルトの名無しさん :04/02/06 23:29
>>289
おまえには無理

291 名前:デフォルトの名無しさん :04/02/06 23:42
>>289にぴったりなのは
ttp://pc.2ch.net/test/read.cgi/prog/1073764719/l50

292 名前:282 :04/02/07 00:00
やっぱり
【初心者歓迎】C/C++室 Ver.4【環境依存OK】
http://pc2.2ch.net/test/read.cgi/tech/1073473867/
で聞きなおしますね。

>>286
せっかく提示して頂いたのですが、
ライブラリ内にエントリー関数を置きたいので。

293 名前:デフォルトの名無しさん :04/02/07 00:02
WindowsでteraTermを使うメリットって何でしょうか?
Windowsで標準でついてるし
↑コマンド使えないし


294 名前:デフォルトの名無しさん :04/02/07 00:06
>>293
ssh/ssl
漢字コード変換
マクロ機能
:


295 名前:デフォルトの名無しさん :04/02/07 00:07
>>294
>ssh/ssl
なんすかそれ?

296 名前:デフォルトの名無しさん :04/02/07 00:15
>>295
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E8%87%AA%E5%88%86%E3%81%A7%E8%AA%BF%E3%81%B9%E3%82%8D%E3%83%B4%E3%82%A9%E3%82%B1

297 名前:デフォルトの名無しさん :04/02/07 00:28
まったくだ

298 名前:デフォルトの名無しさん :04/02/07 00:34
>>252
有ります

299 名前:デフォルトの名無しさん :04/02/07 00:36
>>289-290
ワロタ


300 名前:デフォルトの名無しさん :04/02/07 00:37
>>288
ありがとうです。


301 名前:デフォルトの名無しさん :04/02/07 03:13
質問です。
文字列リテラルはcharの配列で
charの配列は、式の中ではポインタの先頭アドレスへと読みかえられると聞きました。
そして、配列の先頭に&をつけると配列全体のアドレスを指すとも聞きました。

という事は、
&"あいうえお";
とかくと、"あいうえお"という文字列リテラル全体のアドレスを指す意味になるんでしょうか?


302 名前:デフォルトの名無しさん :04/02/07 03:19
>>301
試せばわかる事をいちいち書くな

303 名前:デフォルトの名無しさん :04/02/07 03:37
>>301
ならん。文字列リテラルの型はchar *。配列ではない。

304 名前:301 :04/02/07 03:42
なるほど、配列じゃないんですか
どうもありがとうございました。

305 名前:デフォルトの名無しさん :04/02/07 03:55
>>303
配列で合ってると思うけど。

306 名前:303 :04/02/07 04:12
>>305
そのとおり。間違った。

307 名前:デフォルトの名無しさん :04/02/07 08:32
構造体配列の初期化はどうやればいいんでしょうか?

struct abesi{
int i1;
int i2;
string str;
};

abesi[100];

上のような配列を使ってるんですが。
構造体宣言部で初期化しようとしてもダメでした。

308 名前:デフォルトの名無しさん :04/02/07 09:06
>>301
> そして、配列の先頭に&をつけると配列全体のアドレスを指すとも聞きました。

配列「全体」のアドレスってなんだ ?

>>307
使ってる言語と、string の定義を書いてくれ。

309 名前:デフォルトの名無しさん :04/02/07 09:09
>>308
使用言語はC++で、stringは文字列型です。
構造体配列abesi[100]の中のメンバを全て0または""で初期化したいんですが
素直にループで回すしかないんでしょうか。

310 名前:デフォルトの名無しさん :04/02/07 10:39
コンストラクタを作っとけ。

311 名前:デフォルトの名無しさん :04/02/07 11:19
構造体でコンストラクタって使えますか?
…使えなければクラスにすればいいだけかな?

312 名前:デフォルトの名無しさん :04/02/07 11:24
使えるはずだが

313 名前:デフォルトの名無しさん :04/02/07 11:29
皆さん、趣味で作ったプログラム・ツールなどを公開するとき
どこでされてますか? やっぱりベクター?
2chとかでそう言うスレとかないのかな? もしくは趣味でプログラム
作ってる人がプログラムを互いに公開してる広場ってないかな―?

314 名前:デフォルトの名無しさん :04/02/07 11:31
簡単な福引プログラムを作りたいのですが、(ただし試行は100万回〜1000万回規模)
JavaスクリプトやExcelVBAでは遅さを感じます。
手軽な環境構築でそこそこ速い言語ってなんですか?

315 名前:デフォルトの名無しさん :04/02/07 11:43
福引プログラムなんてランダムで当たりだすだけだろ。
なんでそんなんで遅さを感じるんだ?
プログラムが悪いんじゃね―の。

316 名前:デフォルトの名無しさん :04/02/07 11:46
C++で、

multimap<int, string> map1;
multimap<int, string>::iterator iter1;
iter1 = map1.begin();//先に位置を格納
map1.insert(make_pair(1, "111");
cout << iter1->second << endl;

multimap<int, string> map1;
map1.insert(make_pair(1, "111");
multimap<int, string>::iterator iter1;
iter1 = map1.begin();//マップの要素挿入後に位置を格納
cout << iter1->second << endl;

上と下、両方とも動いたんですが、マップに要素を挿入する前に
イテレータを初期化してしまっていいんでしょうか?
要素挿入前はメモリ確保してなくてイテレータの初期化も出来ないような気がするんですが。

317 名前:デフォルトの名無しさん :04/02/07 11:46
>>315
「当たりをだすだけ」って自分で言って
「プログラムが悪い」だって

支離滅裂

318 名前:デフォルトの名無しさん :04/02/07 11:48
>>317
お前が言いたい事の方が意味わからん。

319 名前:デフォルトの名無しさん :04/02/07 11:49
>>317
同じくわからん

320 名前:デフォルトの名無しさん :04/02/07 11:52
そもそも試行が100万回〜1000万回規模の福引プログラムというのが分からん。



321 名前:デフォルトの名無しさん :04/02/07 11:55
福引ってあれだよあれ。取っ手を使って箱をグルグル回す奴。
100万回試行プログラムってのはあれを
こう、ぐるぐるぐるぐる100万回まわすんだよ。

ぐるぐるぐるぐry

322 名前:デフォルトの名無しさん :04/02/07 12:09
>>321
↓こちらへどうぞ
http://etc.2ch.net/test/read.cgi/denpa/1073784282/

323 名前:デフォルトの名無しさん :04/02/07 12:19
チンチンが3日前から洗ってないせいで非常に臭います。
このままオナーニーしてしまっても大丈夫ですかね?

324 名前:デフォルトの名無しさん :04/02/07 12:51
docomoの携帯N505isで撮影したムービーを自分のHPに載せたいのですが
拡張子を見ると、MP4になっていました。MP4はWMPで再生できんし、
HPにも載せれないみたいです。HPに載せるにはどうしたらいいですか?
あとMP4のファイルを、WMPに再生するにはどうしたらいいですか?
拡張子変換ツールを使ってMP3にしてみたのですが、効果なし;;
助言ください。お願いしますm(_ _)m

325 名前:デフォルトの名無しさん :04/02/07 12:57
>>316
マルチやめれ
>>324
板違い

326 名前:デフォルトの名無しさん :04/02/07 12:58
>>324
少しは検索しろよバカ。

mp4の動画をHPにアップしよう
http://www.vector.co.jp/soft/win95/art/se313453.html

327 名前:デフォルトの名無しさん :04/02/07 14:03
>>282
gcc -mwindows -e _mainCRTStartup


328 名前:321 :04/02/07 14:04
>>322
なんで俺なんだよ?w

もしかしてお前>>314とか?
「福引プログラム」なんて普通はどういうのか分からんぞ。

329 名前:デフォルトの名無しさん :04/02/07 14:09
void guruguru() {guruguru();}

330 名前:デフォルトの名無しさん :04/02/07 14:33
>>311
>>307でゼロ初期化したいだけなら,コンストラクタは不要.
処理系が初期化してくれる.

331 名前:デフォルトの名無しさん :04/02/07 14:40
自動で初期化?
されないんじゃなかったっけ。

332 名前:デフォルトの名無しさん :04/02/07 14:44
とある会社から「DBのデータを固定長のテキストファイルにして送って」て
言われたんで、
<--10bytes-><-----40bytes----->
123      愛飢え男        [LF]
45653     かきくけこ        [LF]
  :
こんなフォーマットに揃えて送ってやった。パディングはもちろん0x20だ。
それぞれのレコードは0x0aで区切った。EUC-JPで半角カナも2バイトだから
惑わされんな、とすら添えておいた。

そしたら「固定長ファイルで送れと言っただろう。使えねーな」と返って来た。

(つД`)漏れ何か間違ってる?

333 名前:デフォルトの名無しさん :04/02/07 15:20
>>332
固定長ファイル ≡ サイズが固定のファイル

とか言うオチじゃねーだろーな。

334 名前:デフォルトの名無しさん :04/02/07 15:28
>>332
相手がWinなのでCR+LFが正解とか?

335 名前:デフォルトの名無しさん :04/02/07 15:30
>>334
Win ならそれ以前に、EUC-JP じゃまずいだろうな。

336 名前:334 :04/02/07 15:33
EUC-JPと言ってるので、多分>>332はUNIX使い。
「固定長のテキストファイルにしろ」と言ってるその会社は
Win+Excel使いと見た。

337 名前:332 :04/02/07 15:35
みんなありがとう。やっぱし分からないよな。
朝、先方に「どこが悪いよ?」ってメール出したんだけど
先方は週休二日制なのな……

338 名前:332 :04/02/07 15:42
>>334=336
サンクスコ。そうなんだろうか。
つかあっちはそれなりのちゃんとした企業だし、レベル高い技術者もゴロゴロ居そうな
気がしたんだが、文字コード云々の分野は余程マニアックなのだろうか……。

339 名前:334 :04/02/07 15:43
>>337
とりあえず、SHIFT-JIS&CRLFで作ったのを送っておけばどう?

340 名前:デフォルトの名無しさん :04/02/07 16:12
"     123", "      愛飢え男"
"    45653", "      かきくけこ"

↑こんなんじゃないの?

341 名前:デフォルトの名無しさん :04/02/07 16:21
>>340
長さ揃ってじゃないじゃん。


342 名前:デフォルトの名無しさん :04/02/07 17:16
>>332
byte換算での固定長ではなく、文字数換算の固定長では?


343 名前:342 :04/02/07 17:20
補足
相手はVB、Java、C#とか使っていて、内部がUnicodeなので
そちらのほうが処理がしやすいとか。

344 名前:デフォルトの名無しさん :04/02/07 18:27
自分でフリーソフトを作ってみたくて学校で無料でもらえるVisual Studia.NETをインストールしたら
VBとかC#とかJ#とか色々あったんですがどれを使えばいいんでしょうか?

345 名前:デフォルトの名無しさん :04/02/07 18:32
詳しく話を聞かせてもらおうか

346 名前:344 :04/02/07 18:34
画像編集ソフトとかちょっとしたツールみたいなのを作りたいんです

347 名前:デフォルトの名無しさん :04/02/07 18:41
>>344
よく入門書とかではCを進められるが・・・。
理由は、一度Cだけ覚えてしまえばたいていの言語は
すぐに覚えられるとのこと。

348 名前:デフォルトの名無しさん :04/02/07 18:41
>>344
VisualStudia.NETとやらのバージョンとエディションを聞かせてもらおうか。
あと、ライセンスがどうなってるのかもな。

349 名前:デフォルトの名無しさん :04/02/07 18:43
僕も欲しい〜

350 名前:344 :04/02/07 18:45
>>347
Cは学校で習ったので結構分かります
実用性で言えばどれを使うのがいいんでしょうか?

>>348
プロフェッショナル2003です
ライセンスは学生用のやつで学校が買った物です

351 名前:デフォルトの名無しさん :04/02/07 18:46
じゃあVC++つかえばー?

352 名前:デフォルトの名無しさん :04/02/07 18:54
>>350
そのライセンスはちゃんと人数分購入されているよね?
一個のキーを使いまわしてないよね?

353 名前:344 :04/02/07 18:55
>>352
ちゃんとしてますよ
それよりどの言語がいいか教えてください

354 名前:デフォルトの名無しさん :04/02/07 18:57
>>353
ちゃんと答えてるのに無視すんな

355 名前:344 :04/02/07 18:59
>>354
VC++ですか?
理由を教えてください

356 名前:デフォルトの名無しさん :04/02/07 18:59
>>353
ひまわり

357 名前:デフォルトの名無しさん :04/02/07 19:13
>>346
実用性ねぇ・・・。
用途がはっきりしない事にはなんともねぇ。(物理関係がしたいとか、WEB関係がしたいとか)

ところで、
VisualStudiaってVisualStudioの間違い?
類似品だと仕様もいろいろ変わるだろうから一応聞くけど


358 名前:デフォルトの名無しさん :04/02/07 19:16
VisualStudiaを知らんの?有名なパチもん

359 名前:デフォルトの名無しさん :04/02/07 19:17
すまん、こんな事書くのもなんだが
>>344
って書いたつもりが
>>346
って書いちまった。

360 名前:344 :04/02/07 19:18
>>357
画像処理関係だとどれがいいですか?

361 名前:デフォルトの名無しさん :04/02/07 19:29
>>360
J#

362 名前:デフォルトの名無しさん :04/02/07 19:34
処理の深さによるが、C/C++辺りかな、Javaではあんまり聞く事も無いし、
VBは画像処理が複雑になれば遅そうだ(C/C++のDLLを使えば遅くはならんだろうが)
ちなみにC#はよく分からん。ただし処理スピードは構わずGUI関係が手早く作りたければ
VBかなぁ〜。

363 名前:デフォルトの名無しさん :04/02/07 19:36
>>362
.NETを使ったこと無いんだろ?

364 名前:デフォルトの名無しさん :04/02/07 19:55
まぁ〜ね
でもJavaとC/C++はコマンドラインでやってるし、
VBも6.0を学校でやった事があるから分かる分には分かる。
しかしなぜ.NET使った事が無いのが分かる?

365 名前:デフォルトの名無しさん :04/02/07 20:00
しったかぶりまるわかり

366 名前:デフォルトの名無しさん :04/02/07 20:00
>>364
そりゃ、.NET 使ったことあったら VB がいいなんて絶対に言わない。
普通は C#。

367 名前:デフォルトの名無しさん :04/02/07 20:01
>>364
使えばわかる。すぐにな。

368 名前:デフォルトの名無しさん :04/02/07 20:09
ポータビリティが無いのは承知で使ってるんだろうから、
VBでもC#でも好きにさせてやれ。

369 名前:デフォルトの名無しさん :04/02/07 20:17
>>366
別にVBを褒めてるわけじゃぁ無い、

コマンドラインのC++じゃぁFMCが
付いてないからAPIレベルでしか
windowsアプリケーションを作った
事しかない俺にとってVBの方が2〜4行程度で
Windowが作れるからとりあえず簡単にGUIが見たいだけなら
VBにすれば?と思っただけだ

しかし、C#はどうなんだ?C++使いには立ち入りやすそうに聞くが
ポインタが消えると聞くとどうにも近寄りがたい。

370 名前:デフォルトの名無しさん :04/02/07 20:21
話に入りたかっただけの人はお帰り下さい。

371 名前:デフォルトの名無しさん :04/02/07 20:23
みんなポインタが分からないって言うんだけどさ。
ポインタって単にアドレス入れる為の変数じゃないの?
ポインタと配列の違いというのは、単に配列の名前で配列の先頭アドレスを取れるから
そのアドレス使ってポインタでアクセス出来るというだけの話でないの?
char配列にもメンバにcharが並んでる構造体にも同じようにアクセス出来る訳で。
何が難しいんだろ?
教えて偉い人。

372 名前:デフォルトの名無しさん :04/02/07 20:30
>>371
まず、アドレスが何のかを理解していないと思われ。
p+=1,p+=2なんかで型サイズ分アドレスがオフセットしていく動作も
理解しにくいんでしょ。

373 名前:デフォルトの名無しさん :04/02/07 20:33
質問です。

char str[4]="aaa";
printf("str[0]----%p\n",&str[0]);
printf("str[1]----%p\n",&str[1]);
printf("str----%p\n",&str);
printf("charのサイズ---%d",sizeof(&str[0]));

こんな感じのコードを書いたのですが
結果が
str[0]----0012FED4
str[1]----0012FED5
str----0012FED4
charのサイズ---4
でした。
charの先頭ポインタのサイズは4なのに、配列が1進むごとに1増えてるんですが
何故でしょうか?

374 名前:344 :04/02/07 20:37
お取り込み中すみません
結局のところ画像処理に最適な言語はどれでしょうか?

375 名前:デフォルトの名無しさん :04/02/07 20:41
>>376
ポインタのサイズは4だが
データのサイズは1

×:printf("charのサイズ---%d",sizeof(&str[0]));
○:printf("charのサイズ---%d",sizeof(str[0]));

376 名前:デフォルトの名無しさん :04/02/07 20:43
アンカー間違えた
>>373だった


377 名前:デフォルトの名無しさん :04/02/07 20:43
>>372
そうか、アドレスが理解出来ないのか……。
でも資源使うならその資源はどこかには居なきゃいけない訳で、
居る場所って普通はメモリ上だからアドレスあるの当然だし。
intとかへのポインタに1足して、結果ポインタにデータの途中とか指されても困るし。
結構単純だと思うけどなあ。

>>373
必要なのは先頭ポインタでなく先頭要素のサイズでしょ。

タイムリーだから煽られてるのかと思って自分の投稿何度も読み返してしまった。

378 名前:デフォルトの名無しさん :04/02/07 20:45
先頭に限らず、要素のサイズ、か。

379 名前:デフォルトの名無しさん :04/02/07 20:48
>>374
とりあえずそういう泥臭い処理はC(次点でC++)
アルゴリズム中心ならオブジェクト指向はそれほど必要ない。

便利なライブラリというかAPIが使いたいなら
そのターゲット環境で一番メジャーなコンパイラをつかえ。
、VC++とかGCCとかMACは、よくしらんがオブジェクティブCか?

卒論ならJavaでもやっとけ。

380 名前:デフォルトの名無しさん :04/02/07 20:49
Visua Basic 6.0の本買ってきたんだけど、
パソコンにVisual Basicなんて入ってなかった・・・・・。
この本どうすればいい?

381 名前:デフォルトの名無しさん :04/02/07 20:57
int main()
{

char str[4];
sprintf(str,"%s","あいう");
printf(str);
}
このようなコードを書いたのですが
strの配列の領域を超えて、スタックの領域破壊が起きてしまいました。
何故でしょうか?
あいう + ヌル文字で4要素ですよね?


382 名前:デフォルトの名無しさん :04/02/07 20:59
>>380
VisualBasic 6.0を買って来い。
ていうかよくしらんが.NETでない前のバージョンってまだ売ってるのか?
漏れなくGCCとかいろいろついてくるLinuxは偉大だな。

383 名前:デフォルトの名無しさん :04/02/07 21:00
>>381
あいう は2バイト文字
よって、あいうx2+ナル文字で7つの領域が必要

384 名前:381 :04/02/07 21:01
>>383
どうもありがとうございました。
初歩的ミスでした。。。(汗

385 名前:デフォルトの名無しさん :04/02/07 21:02
C++使ってる方、クラスを何に保存します?
うちの友達がヘッダーファイルにクラスを全部書いていたんですが、
大丈夫なんですかね?

386 名前:デフォルトの名無しさん :04/02/07 21:02
>>381
日本語の文字はどのコードでも殆どの場合1文字2バイト使う
半角なら1バイト全角なら2バイトと思っていれば大体合ってる(EUCやUNICODEは例外があるが)

387 名前:デフォルトの名無しさん :04/02/07 21:06
>>382
.NET 版の VB コンパイラなら M$ のサイトからただで落とせるんだがな。
C++コンパイラもC#のも。

388 名前:デフォルトの名無しさん :04/02/07 21:06
>>385は何が心配なんだ?

389 名前:380 :04/02/07 21:07
2400円もしたのに・・・。
2400円あったらGAグッズいっぱい買えるのに・・・。
付録のCDも開けちゃったから古本屋にも売れない。
マジでドブに捨てた2400円だな。

390 名前:380 :04/02/07 21:10
まあいい勉強になったけど、これがトラウマ
になってプログラミング系の本買えなくなりそうだな。

391 名前:デフォルトの名無しさん :04/02/07 21:11
>>389
2400円程度でメソメソすんな
いつか役に立つ日がくるかもしれんぞ。
その時は10倍以上の価値を見出す可能性も・・・

まぁ、お前次第だ

392 名前:380 :04/02/07 21:13
>>391励ましてもらうと素直にありがたい。
これにめげずにプログラミングがんばるよ。

393 名前:デフォルトの名無しさん :04/02/07 21:24
>>392
どうしても 2400円の元を取りたいのならば VBA でもいいのでは?
Excel とかは入っていないの?

394 名前:380 :04/02/07 21:26
Excel は入ってる。

395 名前:デフォルトの名無しさん :04/02/07 21:33
VB6とVBAはだいぶ違うと思う。

396 名前:デフォルトの名無しさん :04/02/07 21:35
確かめずに買ったのにぶつぶつ文句言うなよって気もするがな
VB5CCEをダウンロードすりゃ多少は遊べる

397 名前:デフォルトの名無しさん :04/02/07 21:40
質問です。
#include <stdio.h>
typedef struct{
char const str[7];//const書いてるのに?
char str2[7];
}HOGE;
static HOGE hoge[1024];
int main()
{
sprintf(hoge[1].str,"%s\n","お前馬鹿だろ?");
printf(hoge[1].str);
printf(hoge[1].str2);//領域侵害
}
このようなコードを書いたのですが
しっかり構造体の中にconst書いてるのに、何故か書き込めてしまいます。
何故でしょうか?

398 名前:デフォルトの名無しさん :04/02/07 21:45
>>397
構造体内に const 使って、一体何がやりたいの?

399 名前:デフォルトの名無しさん :04/02/07 21:53
Win32 PEフォーマットを調べていますがMSDNサイトが更新されて
見れなくなっているようなので、だれか載っているサイト知りませんか?

400 名前:デフォルトの名無しさん :04/02/07 21:56
Microsoft PEでいいんなら
http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html

401 名前:デフォルトの名無しさん :04/02/07 22:11
VS.net2003買ったからVB6Proアカデミック余ってる
誰か買ってくれ。もちろん正規品。

402 名前:デフォルトの名無しさん :04/02/07 22:13
 .__
ヽ|・∀・|ノ ようかんマン
 |__|
  | |


403 名前:デフォルトの名無しさん :04/02/08 00:05
>>371
まずポインタはメモリアドレスと同じではない。また、371で言っているのは
ポインタをアドレスと言い換えているだけで何の説明にもなっていない。


404 名前:デフォルトの名無しさん :04/02/08 00:10
おっ! 403の講義が始まるみたいだぞ。
ぜひトリップつけてくれ

405 名前:403 :04/02/08 00:21
ではお言葉に甘えて。

1) すべての変数にはユニークなアドレス(メモリアドレスと同じ保証はない)を持つ (&演算子)
2) 同じ配列の要素には連続する番号が割り当たる (+, -, ++, --演算子)
3) 配列のサイズ+1までを指すことができる
4) スカラ変数はサイズ1の配列と同じ
5) 有効なポインタがNULLと同じになることはない
6) 任意の型へのポインタ(関数ポインタはのぞく)はvoid*またはchar*に
変換した後、元の型へのポインタへ正しく戻すことができる。

これだけ知ってれば充分。

406 名前:デフォルトの名無しさん :04/02/08 00:22
解ってるつもりってのが一番怖いね。

407 名前:デフォルトの名無しさん :04/02/08 00:24
質問です。
自分で作った関数にchar型の文字列を渡したいのですが
関数には配列は渡せないと聞きました。

どのようにすれば、文字列を渡す事が出来るのでしょうか?

408 名前:デフォルトの名無しさん :04/02/08 00:29
403のおかげで「ポインタが分かんな〜い」とのたまう輩が
いなくなりそうだ。 良かった良かった (´ー`)


409 名前:デフォルトの名無しさん :04/02/08 00:32
では、仕切り直し。

TrueTypeフォントで描画した画像の著作権は誰のものになるのでしょうか?
フォントデータの著作権者でしょうか?
それとも描画プログラムの作者でしょうか?
はたまた、描画操作をして画像を作った人でしょうか?

<レス1>
TrueTypeフォントの情報 = ソースプログラム
描画プログラム = コンパイラ
描画操作する人 = コンパイラを起動した人

普通に考えて、著作権はフォントデータの著作者にある。

ただ、その描画プログラムが特殊なフィルタ機能 (=アンチエイリアシング等) を
持ってたりするとか、描画操作する人が配置とか色使いを工夫するなどした場合は
また別の話となる。

410 名前:デフォルトの名無しさん :04/02/08 00:32
>>409
そのTTフォントを作ったところに聞くしか。

411 名前:デフォルトの名無しさん :04/02/08 00:35
>>407
先頭ポインタと、配列の数(配列のサイズ/charのサイズ)をその関数に渡すとかは?


412 名前:407 :04/02/08 00:36
>>411
なるほど!!
どうもありがとうございました。

413 名前:デフォルトの名無しさん :04/02/08 00:38
>>411
普通、文字列を渡すものならサイズは渡さないな

414 名前:407 :04/02/08 00:43
すみません
#include <stdio.h>

void func(char *str, int size){
char str[size];//ここでエラー
printf(str);
}

int main(){
char str[7]="あいう";
func(str,7);
}
こんな感じにしたんですが、
>error C2057: 定数式が必要です。
と出ます。
どうすればいいのでしょうか?

415 名前:デフォルトの名無しさん :04/02/08 00:46
>>414
> char str[size];//ここでエラー
何がしたい?

416 名前:デフォルトの名無しさん :04/02/08 00:46
func()で何をしたいのかを述べよ

417 名前:デフォルトの名無しさん :04/02/08 00:46
>>414
size を 256等の定数にするか、strを動的に確保する。

こんなのあった。
http://www.microsoft.com/japan/legal/permission/copyrgt/cop-soft.htm#Fonts


418 名前:407 :04/02/08 00:49
>>415-416
funcで文字列を受け取ってprintf()で表示したいのです。

>>417
見てみます。

419 名前:デフォルトの名無しさん :04/02/08 00:50
>>418
なら
void func(const char *str)
{
puts(str);
}

420 名前:デフォルトの名無しさん :04/02/08 00:51
>>417
それじゃリンクを>>414に提示しているみたいだぞ

>>418
ほら勘違いしているし

421 名前:デフォルトの名無しさん :04/02/08 00:54
絵描きさんは特に気にせずに画像に文字を書いてると思うけど、
大丈夫なの? アドビのフォントでも使ってるの?

>>418
違うよ!

422 名前:デフォルトの名無しさん :04/02/08 00:56
adobeで思い出した。
adobeにもフォントに関しての情報があるね
http://www.adobe.co.jp/aboutadobe/antipiracy/fonts.html

423 名前:デフォルトの名無しさん :04/02/08 00:56
WindowsのUIについて解説してる本やサイトってありませんか?
Winアプリは原則的にこう作るものだとか、操作をアレンジするならここに
気をつけろとか、設計・開発のガイドラインになりうるやつ。
Windowsユーザーインターフェースデザインガイドはあるけど古いし。
forXPみたいなのは出てないですよね。

424 名前:デフォルトの名無しさん :04/02/08 00:57
しっかし、使ってもらう側のくせに何を偉そうにしているんだろ。

425 名前:デフォルトの名無しさん :04/02/08 00:58
>>423
そういうスレがあったなぁ。まとめサイトつきで。

426 名前:407 :04/02/08 01:00
どうもありがとうございます。

ポインタで受け取るだけでよかったんですか・・・
でも、関数に配列は渡せないと聞いたんですが、何だったのでしょうか?


427 名前:デフォルトの名無しさん :04/02/08 01:11
配列の最初の要素へのポインタを渡してるだけで、配列を渡してるわけじゃない

428 名前:デフォルトの名無しさん :04/02/08 01:12
>>426
配列の値渡しが出来ないってことじゃないの?

429 名前:デフォルトの名無しさん :04/02/08 01:13
>>426
「配列」は渡せない。
「配列の先頭アドレス」は渡せる。

430 名前:デフォルトの名無しさん :04/02/08 01:14
構造体に含まれる配列はそのまま渡すのでは?

431 名前:407 :04/02/08 01:14
えーと
先頭ポインタだけだと、どこまでが範囲かわからないような気がするのですが・・・


432 名前:デフォルトの名無しさん :04/02/08 01:14
>>430
それは、構造体を渡している、というんだ。

433 名前:デフォルトの名無しさん :04/02/08 01:15
>>409
画像自体の著作権は作成した人にある。
フォントがそのような利用を認めていないなら、
フォントのライセンス違反または著作権の侵害になる。
非商用利用では認めている場合が多いけどね。

ただし、文字を単に表示するだけとか簡単なフィルタを通すだけであり、
それが主である画像ならば著作物とは認められない可能性もあり。
# 裁判にでもならなければどっちでもいいことではあるが。

434 名前:デフォルトの名無しさん :04/02/08 01:18
>>431
わかる。

435 名前:デフォルトの名無しさん :04/02/08 01:21
"MS Pゴシック"フォントには、
(C) 1993 Ricoh Company Limited. All rights reserved.
とありました。

>>433
文字のみからなる画像ってマズイですかね?
環境に依存しない文字出力をしたいのですけど、
全文字をビットマップフォントとして保持するのはどうかなと思ったのでして。

436 名前:デフォルトの名無しさん :04/02/08 01:23
>>434
説明不足

>>431
「Cスタイルの文字列」に限定すれば'\0'が文字列の終わり。
ただしバッファがどこまで確保されているのかはやっぱりわからない。

437 名前:デフォルトの名無しさん :04/02/08 01:26
>>431
終端文字'\0'の直前までが扱うべき文字列として認識される

char str[6];
str[0] = 'a';
str[1] = 'b';
str[2] = 'c'; // ←ここまで出力される
str[3] = '\0'; // ←最後を識別する文字 (終端文字)
str[4] = 'd'; // ←出力されない
str[5] = 'e'; // ←出力されない
printf(str);

出力結果:
abc

438 名前:デフォルトの名無しさん :04/02/08 01:28
>>431
配列の例として文字列を出してきたのが悪い。

439 名前:407 :04/02/08 01:28
なるほど、理解できました。
文字列に限って言えば途中でナル文字が入ってない限りOKという事なんですね。
どうもありがとうございました。

440 名前:デフォルトの名無しさん :04/02/08 01:32
>>435
>文字のみからなる画像ってマズイですかね?
いや、別に大丈夫かと。
印刷して配ったり画像をウェブに載せるのは、OK なフォントが多いと思う。

「名無しさん」 という文字画像に対して、
これは俺の著作物だから他のやつはパクって使うな、
などということは主張できないというだけで。

最終出力物ではなくて、ソフトウェアの一部として再配布する場合には
ライセンスを確かめる必要あるかも。

441 名前:デフォルトの名無しさん :04/02/08 01:37
印刷物として埋め込む場合は大抵OKでしょ

442 名前:デフォルトの名無しさん :04/02/08 02:14
またまた質問させてください。

#include <stdio.h>
void func(const char *str){ //ここでconst
printf(str);
sprintf(str,"うう");
}

int main(){
char str[7]="あいう";
func(str);
printf(str);
}

こんなコードなのですが、
constを使ったにも関わらず、strの内容が書き換えられています。
何故でしょうか?

443 名前:デフォルトの名無しさん :04/02/08 02:20
>>442
strの内容は変わってない。ポイントしてる内容が変わっただけ。

444 名前:デフォルトの名無しさん :04/02/08 02:33
>>442
何故でしょうと言われても、そういう風にプログラムしたからとしか言いようがない。
コンパイル時に warning が出たと思うのだが。

445 名前:デフォルトの名無しさん :04/02/08 03:04
telnetを×で切るのと
exitでコマンドで切断するのとでは
どう違ってくるのでしょうか?

446 名前:デフォルトの名無しさん :04/02/08 03:09
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}

int main( int argc, char **argv )この行の
"**"てなんですか?ポインターでしたよね。

447 名前:デフォルトの名無しさん :04/02/08 03:23
>>446
ポインタのポインタ。

448 名前:デフォルトの名無しさん :04/02/08 03:37
ありがとう。
難しそうだね。
あるポインタを指し示すポインタ、ってことでしょ?


449 名前:デフォルトの名無しさん :04/02/08 03:43
質問する奴も回答する奴も初心者ばっかになっちゃったね・・・

450 名前:デフォルトの名無しさん :04/02/08 03:44
>>448
多重間接参照も知らんのか

(さっき覚えた)

451 名前:デフォルトの名無しさん :04/02/08 04:12
>>449
こんな匿名掲示板に真面目に回答しても
感謝の言葉すらないし、はっきり言って何の意味もない
時間の無駄でしかない

452 名前:デフォルトの名無しさん :04/02/08 04:21
>>451
君なんて誰からも必要とされてないんだよ

453 名前:デフォルトの名無しさん :04/02/08 04:21
>>451
おまえにつける薬は存在しないな

454 名前:デフォルトの名無しさん :04/02/08 04:49
***くらいまでなら使ったことがあるが、****は使ったことがないな。

455 名前:デフォルトの名無しさん :04/02/08 07:31
関数型言語に興味があって Haskell か Concurrent Clean
どちらかをやってみようと思ってます。
いままでやった事のある言語は10年ほど前にアセンブラ、C、最近はPerl
あとはFlashのASとかJSとかです。

将来性とか考えて正直どっちがおすすめでしょうか?
Cleanを薦めているサイトではCleanのほうが優れている点
(速度が速いことやライブラリ、Haskellのモナドよりスマートな方法)
をよく挙げていますが、Cleanに関するサイト自体が少ないという印象を受けてます。

Haskellはここにスレがあるのと名前がカコイイのが気になってます。。
Haskell.NETも気になりまくりです。

みなさんのお勧めな方を教えてください。

456 名前:デフォルトの名無しさん :04/02/08 08:46
>>380
VB6.0のPersonal版売ってやろうか

457 名前:デフォルトの名無しさん :04/02/08 10:06
exeの動く原理が知りたいんですが、
詳しく解説しているサイトはないでしょうか?

458 名前:デフォルトの名無しさん :04/02/08 10:10
http://www.microsoft.com/japan/msdn/library/default.asp

あとは、、、PEフォーマットでググれ

459 名前:デフォルトの名無しさん :04/02/08 11:03
>>440
ちょっとまてダウト!
おまえらフォントをいくらで買った?
1書体100万〜1000万か?なら理解できる。

そうでなければ印刷物配ったら違法だろ。
ウェブ上はかなりグレーゾーンだけれども。

460 名前:デフォルトの名無しさん :04/02/08 11:13
>>459
ハァ?

461 名前:デフォルトの名無しさん :04/02/08 11:30
文字を画像に展開するものを作ったが
それは文字列は固定じゃないのでさすがにフリーのフォントを
使わせてもらったなあ

462 名前:デフォルトの名無しさん :04/02/08 11:43
書体/タイプフェイスに著作権はない、が判例ですが何か。

463 名前:デフォルトの名無しさん :04/02/08 11:47
と知ったかぶるテスト(^_^;)

464 名前:デフォルトの名無しさん :04/02/08 11:49
>>462
ソースは ?

465 名前:デフォルトの名無しさん :04/02/08 12:11
>>464
知りたきゃ自分で調べましょう。
プログラマならそういう姿勢が当たり前です。

466 名前:デフォルトの名無しさん :04/02/08 12:15
>>422のリンクの理屈からすれば
>フォントもソフトウェアです。実際にフォント毎に小さなソフトウェアプログラムです。
という事なので、フォントをプログラムと置き換えて考えればいい
ソフトウェアで作成した物にまで著作権を言われる筋合いは無い
自分で作ったソースをVCやgccでコンパイルしたソフトにそんな事考えないだろ
ただ、フォントファイルそのものを改造して売ったりするとNGというのは言うまでも無いが。
ま、Adobeの場合は、だけどね。


467 名前:デフォルトの名無しさん :04/02/08 12:29
シェルソートのプログラムがよくわかりません
その本の前のページにかかれてた挿入ソートのプログラムはちゃんと理解できるし
シェルソートのアルゴリズム事態もよく理解できるんですが
その本に書かれてるプログラムがわかりにくくて困ってます
誰か解説してください
shellsort(int a[],int N)
{
int i,j,h,v;
for (h=1;h<=N/9;h=3*h+1);
for(;h>0;h/=3)
for (i=h+1;i<=N;i+=1)
{
v=a[i];j=i;
while(j>h && a[j-h]>v)
{a[j]=a[j-h];j-=h;}
a[j]=v;
}
}

468 名前:デフォルトの名無しさん :04/02/08 12:30
>>466
> ソフトウェアで作成した物にまで著作権を言われる筋合いは無い

バカか ?
コンパイラに食わせるソースは自分が書いてるからいいけど、フォントが喰うデータはフォントファイルに入ってるんだぞ。

469 名前:デフォルトの名無しさん :04/02/08 12:34
>>468
ほぅ。じゃあコンパイラについてるヘッダもライブラリも使ってはいけないのか。

470 名前:デフォルトの名無しさん :04/02/08 12:42
http://www.netlaw.co.jp/hanrei/insatu.html

471 名前:デフォルトの名無しさん :04/02/08 12:48
マックのサーバーに接続されているビデオカメラの映像を、
画像プッシュではなく映像のまま、ネット経由で
他のパソコンから見たいんですけど、

配信側
1.接続されたカメラの認識
2.映像の表示
3.映像の配信

受信側
1.IE、NSなどのブラウザで映像を再生

これを行うソフトってできますか?

472 名前:デフォルトの名無しさん :04/02/08 12:52
>>471
受信側をどうするかだな
IE/NSのプラグイン無しでという事ならばHTMLでリロードしまくるしか無いような

473 名前:デフォルトの名無しさん :04/02/08 12:57
>>469
誰が使っちゃいかんと言ってるんだ ?
どのように使えるかどうかは、使用契約書に書いてあるだろ。

普通プログラムに組み込まれたライブラリの著作権は放棄されていないよ。

474 名前:デフォルトの名無しさん :04/02/08 12:58
>>472
早いレスどうもです。
JAVAアプレットで、画像を連続的にアップするのは良くあるんですけどね・・・
フラッシュを使った動画配信(FCS)の場合、マックには対応しないみたいで・・・

ほかも考えてみます。

475 名前:デフォルトの名無しさん :04/02/08 12:59
プログラミング初めて一週間ぐらいなんで馬鹿な質問だと思うんですけども

WNDCLASSEX wc = {sizeof(WNDCLASSEX)・・・・}を
WNDCLASSEX g_wc;グローバルで宣言して g_wc = {sizeof(WNDCLASSEX)・・・・};

と、書き換えると通らないんですけどどうしてですか?

476 名前:デフォルトの名無しさん :04/02/08 12:59
>>469
脊髄反射は恥晒しにしかならないって
おじさんいつも言ってるだろ?

477 名前:デフォルトの名無しさん :04/02/08 13:00
QuickTimeBroadcaster+DSSじゃだめなの?

478 名前:デフォルトの名無しさん :04/02/08 13:01
>>473
もう一度スレとリンクを読み直せ

479 名前:デフォルトの名無しさん :04/02/08 13:03
>475
初期化と代入は別物だから。どうしてもというなら、C99をもってきて、
g_wc = (WNDCLASSEX){ sizeof(WNDCLASSEX)...};とでもすれば。

480 名前:デフォルトの名無しさん :04/02/08 13:05
>>478
お前が通しで全部読み直すべきだろうな

481 名前:デフォルトの名無しさん :04/02/08 13:07
>>479
代入になってるから出来なかったんですね。
即答ありがとうございました。

482 名前:デフォルトの名無しさん :04/02/08 13:08
フォントでごちゃごちゃ言ってるやつら、AdobeやMS/リコーに問い合わせろよ
推測で言い合ってるより確実だろうが

483 名前:デフォルトの名無しさん :04/02/08 13:21
>>482
大体決着してるだろ。
アフォが一人暴れてるだけだ。

484 名前:デフォルトの名無しさん :04/02/08 13:28
↓何事もなかったかのように次の質問をどうぞ

485 名前:デフォルトの名無しさん :04/02/08 13:45
質問です

int len;
char str[16] = "あaいう";
len = strlen(str); // ← 7が返ってきた

2バイトの文字も1として返す関数とかありますか?
例) len = func(str); // ←4が返ってくる



486 名前:デフォルトの名無しさん :04/02/08 14:14
char じゃなくて
wchar_tを使うとかは?

487 名前:デフォルトの名無しさん :04/02/08 14:25
アソFKゥ胝砿ノ疑ョwNャキc=?e覿 6ニュN^7鉚ォ゙ヲロホ<筈シM_X{8L/ツナシ壘譎FFネr堺蟷桧=zy4


488 名前:デフォルトの名無しさん :04/02/08 14:30
すみません
ollydbgのセグメントレジスタの味方を教えてください
セグメントレジスタは16bitのようなきがするのにfsが32bitとか
16bitとか色々あってわかりません
例えばどのような使い方をしているのかもわかりません
初歩的なしつもんですが調べてもわからないのでおしえてください

489 名前:デフォルトの名無しさん :04/02/08 14:34
ollydbgってなんだよ。いろいろあって分からないも分からん。
どのような使い方も何の使い方を言っているのか?ollydbg? セグメント
レジスタ?

490 名前:デフォルトの名無しさん :04/02/08 14:37
>>486
wchar_tで調べて試してみたら期待通りの結果がでました。
ありがとうございました。

491 名前:デフォルトの名無しさん :04/02/08 14:38
int main(){

char *str = malloc(sizeof("あいfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffう\n"));
sprintf(str,"あいfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffう\n");

func(str);
free(str);
}

こんな感じで動的な領域確保を構造体の中でもしたいのですが、どうすれば良いのでしょうか?
struct typedef{
char str[1024];//ここが無駄
}HOGE

こんな感じですと、無駄に確保してしまうんで・・・・

492 名前:デフォルトの名無しさん :04/02/08 14:44
セグメントレジスター見方をおしえてください
おねがいします

493 名前:デフォルトの名無しさん :04/02/08 14:45
すいません
やっぱりいいです
自分で考える事にします
スレ汚してすみませんでした
さようなら

494 名前:デフォルトの名無しさん :04/02/08 14:46
C89では
struct typedef {
char* str;
} HOGE;
しかないよ。

C99なら
struct typedef {
//...
char str[1]; // [0]もいいんだっけ?
} HOGE;

HOGE* p = malloc(sizeof(*p)+n);
n分だけstrが増える。


495 名前:デフォルトの名無しさん :04/02/08 14:47
>>491
・・・
mallocで領域確保するなら、
typede struct { char *str; } HOGE;
として、
HOGE hoge;
hoge.str = malloc(size);


496 名前:デフォルトの名無しさん :04/02/08 14:55
>>491
typedef struct {
 char* str;
} HOGE;

int main() {
 char* s = "ahyahyahyahyahya!!";

 HOGE hoge;
 hoge.str = (char *)malloc( strlen(s)+1 );
 strcpy( hoge.str, s );
 free( hoge.str );
 return 0;
}

497 名前:491 :04/02/08 14:56
どうもありがとうございました。
無事出来ました。

498 名前:デフォルトの名無しさん :04/02/08 14:58
>>491
こういうやりかたもあるね。

typedef struct {
 char st[1024];
} HOGE;

int main() {
 HOGE *hoge;

 hoge = (HOGE*)malloc(sizeof(HOGE));
 strcpy( hoge->str, s );
 free( hoge->str );
 return 0;
}


499 名前:デフォルトの名無しさん :04/02/08 14:59
あれ?
昔ならともかく、mallocってキャスト必要だっけ?
void *型返すんじゃなかったっけ?

500 名前:デフォルトの名無しさん :04/02/08 15:13
2Dのゲームを作るときの、壁や床等の障害物判定って
やはり「自キャラの座標が壁座標と一致したらボタン操作を無効化」
とするのでしょうか?
障害物の判定について、皆さんはどのようにしているのですか?


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.