[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/31 10:23 / Filesize : 243 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.49【環境依存OK】



1 名前:デフォルトの名無しさん [2008/02/20(水) 12:33:41 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.48【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1202141921/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

795 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:26:03 ]
>>793
typedef HOGE * HOGE_PTRしてみれば判る。

796 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:37:54 ]
>>794>>795
なるほど。正直きちんと理解できたかは自信ないですが、ちゃんと法則が
あってそうなっているのは分かりました。
どうも有難うございましたm(__)m

797 名前:デフォルトの名無しさん [2008/02/26(火) 14:46:05 ]
vc2008のコマンドラインコンパイラだけ手に入りますか
vc6でコンパイルしたいです
sp1で鈍いパソコンです 

798 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:48:16 ]
EEを入れてみたか?

799 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:49:23 ]
>>797
コンパイラだけ手に入れるのは無理だが
コマンドラインでの利用はできるよ

800 名前:デフォルトの名無しさん [2008/02/26(火) 14:56:40 ]
sp1にインストールできますか

801 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:02:40 ]
>>792
kwsk

according to standard

802 名前:デフォルトの名無しさん [2008/02/26(火) 15:49:24 ]
すみません
DOSの実行ファイルで、標準出力へは書き出されないメッセージを取得する方法ありませんか?
hoge.exe > log.txt
として取得できないやつです 画面には出ます
標準出力、標準エラーの取り方はわかります

803 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:09:38 ]
>>802
それのどこがC/C++に関係があるの?



804 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:18:38 ]
>>802
つ printscreen

805 名前:デフォルトの名無しさん [2008/02/26(火) 16:34:10 ]
>>803
標準出力はこれで受け取れますが、exeが返す実行結果がとれません

#include <windows.h>

main(){
HANDLE hFile = CreateFile("log.txt",GENERIC_WRITE,FILE_SHARE_WRITE, NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
SetStdHandle(STD_OUTPUT_HANDLE , hFile);

STARTUPINFO si; PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
si.hStdOutput =hFile ;
si.hStdError =hFile ;
si.wShowWindow = SW_HIDE;

CreateProcess(NULL, "HtoX32c.exe e:\\0.htm ", NULL, NULL, FALSE,0, NULL, NULL, &si, &pi);

WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(hFile);
}

806 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:51:04 ]
HtoX32とやらが標準エラー出力に出している可能性は無い?
そもそも、まさかHtoX32はWindowを持っているアプリケーションなのか?
だとしたら、メッセージフックなどの手段が必要になるよ。
つーか、HtoX32とやらが何ものかにも依るけど同等のプログラムを自分で書いた方が手っ取り早かったりしてね。

807 名前:デフォルトの名無しさん [2008/02/26(火) 16:59:39 ]
HTMLをテキストに変換するプログラムです
ソースが公開されていたり定番のライブラリとかありませんか?

808 名前:デフォルトの名無しさん [2008/02/26(火) 17:03:03 ]
正規表現での消し方のサンプルみながら自分でやってみます

809 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:11:51 ]
>>805
support.microsoft.com/kb/190351/ja

810 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:15:43 ]
popenを使えたら楽だな
あればだけど

811 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:44:11 ]
>>805
そのコードだと、自プロセスの標準出力が hFile になるけど、子プロセ
スの HtoX32c.exe の標準出力はコンソールのままでは?



812 名前:デフォルトの名無しさん [2008/02/26(火) 17:44:15 ]
1つの関数に複数の構造体を渡すことって可能でしょうか?

suruct typedef{
int x,y;
}SAMPLE;
SAMPLE sample;

suruct typedef{
int x,y;
}SAMPLE2;
SAMPLE2 sample2;

void AA(??? *s){
int a = s->x;
int a = s->y;
}

void main(){
AA(&sample);
AA(&sample2);
}
こんな処理をしたいのですが、???の所がわかりません。
良い方法を教えていただきたいです。

仮の構造体を1つ作って、その変数に代入→渡すってやり方だとできましたが
激しく面倒くさい。

813 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:52:41 ]
関数オーバーロード、もしくはテンプレート関数でぐぐれ。



814 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:54:43 ]
>>812
typedef SAMPLE SAMPLE2;

815 名前:デフォルトの名無しさん [2008/02/26(火) 18:02:57 ]
>>813
>>814
情報ありがとうございます。
テンプレート関数が一番やりたかった事を解決してくれそうでした。
ありがとうございました。

816 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:10:58 ]
構造体のメンバを決め打ちするようなテンプレート関数は感心しないな。
テンプレートを使うということはC++で良いので、それならメンバ関数にしてしまった方が良い。

817 名前:デフォルトの名無しさん [2008/02/26(火) 18:22:32 ]
ifstream::readって実際に何バイト読めたか検出できないんですか?
freadみたいにふつうに戻り値が来るのかと思いきや違うみたいですし…。

818 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:28:13 ]
つ gcount

819 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:29:13 ]
>>817
自己レス。failで少なくとも期待通りの
バイト数読めたかどうかは取得できるのね。

820 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:30:30 ]
>>818 と思ったらそんなメソッドがあったか。サンクス

821 名前:デフォルトの名無しさん [2008/02/26(火) 18:31:39 ]
fstreamは重要なところでは使うべきではない
APIのほうがよい

822 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:55:55 ]
んなこたーない

823 名前:デフォルトの名無しさん [2008/02/26(火) 19:18:08 ]
fstreamは一社の開発ではないがAPIはMS一社
どのコンパイラでも同じ動作になる
あと3000個とか開けない



824 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:18:50 ]
if文って 文字列と文字列を比べることって出来ないですよね?
1 = あいうえお
2 = かきくけこ
3 = さしすせそ
4 = あいうえお
if (a = 1){
}
みたいなことをやりたいのですがどうしたら良いでしょうか?

825 名前:デフォルトの名無しさん [2008/02/26(火) 19:19:44 ]
stringはできる

826 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:20:33 ]
> どのコンパイラでも同じ動作になる
コンパイラで差はないかもしれないが・・・

827 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:21:41 ]
>>823
んなばかな
APIがMS一社で規定されてるなんて初めて知った
MSはついに世界を征服したのか

828 名前:デフォルトの名無しさん [2008/02/26(火) 19:23:04 ]
Windowsのファイル入出力APIのことを指す

829 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:55:08 ]
>>824 strcmpしとけ

830 名前:デフォルトの名無しさん [2008/02/26(火) 21:19:23 ]
CreateProcessしたときに止まらなくなったら停止させたいんですけど
どうやったらいいですか?

831 名前:デフォルトの名無しさん [2008/02/26(火) 21:22:25 ]
ググって解決しました

832 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:58:13 ]
マルチスレッドで動かしてる関数って_endthread()書かなくてもreturn;書いてたら
問題ない?

833 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:04:41 ]
問題ない。
ところで_beginthreadは使うなよ。_beginthreadexにしろよ。
msdn2.microsoft.com/ja-jp/library/kdzttdcb(VS.80).aspx



834 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:15:49 ]
VC6.0です。

__declspec(dllimport) int __stdcall hoge( LPWORD, LPWORD, LPWORD );

という形の関数のアドレスが入る関数ポインタhageを作りたいのですが、
うまく宣言できません。

__declspec(dllimport) int __stdcall (*hage)(LPWORD, LPWORD, LPWORD );
などとやるとコンパイルエラーになってしまいます。

どうすれば宣言できるのでしょうか?

835 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:17:26 ]
declspecは関係ないだろ

836 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:19:03 ]
関係あるよ

837 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:19:32 ]
関数ポインタで悩んだら、typedef

typedef __declspec(dllimport) int __stdcall hogetype( LPWORD, LPWORD, LPWORD );
hogetype hoge;

838 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:36:15 ]
関数ポインタの便利さになれすぎてしまって
最近 if を見るたびにすぐ関数テーブル化してしまう。

間違い?


839 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:39:07 ]
なるべくシンプルにかくのを推奨されますからね

840 名前:デフォルトの名無しさん [2008/02/26(火) 22:43:09 ]
関数テーブル間違いです
鈍いです

841 名前:デフォルトの名無しさん [2008/02/26(火) 22:47:58 ]
なんかCreateProcessすると不安定になる スレッドでsystemで実行してみる
CreateProcessを短期間に20回以上使うと動かなくなるエラーってありますか?
実行する側のexeのせいかもしれないですが

842 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:50:02 ]
テーブルだめなのか・・
if の中にさらに if があるともうその地点でうわ・・って思ってしまう。

ちょっとソース見直してみます

843 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:50:41 ]
>>833
ありがとう。今度からそうする



844 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:54:19 ]
そこでBoost::functionとコールバックですよ。

845 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:59:28 ]
>>842
無理して避けることもないよ。何事も程々が1番。

846 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:02:18 ]
グローバル変数って絶対使わない方がいいんですかねえ
例えばゲームプログラムを作っていて、状態を管理するグローバル変数を使っているとする。
その変数には、ゲームの進行に合わせて、例えば
定数(TITLE=0, STAGE1, STAGE2, STAGE3, STAGE_CLEAR, GAME_OVER, ENDING)が入るとする。
処理は上の状態それぞれでモジュール化されているとすると、
どうしても状態管理変数はグローバル変数化してどの状態からでも
参照・設定できるようにせざるを得ないと思うのですが、何かいい手があるのでしょうか。
状態管理変数をファイル内static変数にしてセッターを使って書き換えるようにしたり、
状態管理変数とセッターをクラスにしてそのオブジェクトのスコープをグローバルにするもしくは状態管理変数とセッターを
staticにしてどのクラスからでも書き換えられるようにするくらいなら最初から状態管理変数をグローバルにしといた方が
シンプルだと思うのですがどうでしょうか。

847 名前:デフォルトの名無しさん [2008/02/26(火) 23:03:57 ]
数が多くなければOK、重要ならOK

848 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:05:38 ]
>>846
静的なシングルトンもグローバル変数も似たようなもんだ
グローバル変数でいいんじゃね?

ただ、関数経由にしておけばデバッグするときに setter で引っ掛ければいいだけだから
ずいぶんと楽になる*かもしれない*

849 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:30:59 ]
>>846
シングルタスクなら良いけど。
GUIでスレッド使って随時処理しながら入力待ちして、
入力はコールバックで処理、みたいのだと、
ゲッタやセッタ作った方が排他処理し易いかなぁ。

まぁケースバイケース?

850 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:32:07 ]
ゲーム状態のインスタンスが1つだけなら、グローバル変数でいいと思う。

インスタンスが複数なら、
状態ごとの処理に、状態管理変数をクラス化したものを渡すとか、
もしくはstateパターンなんてのもいいかもしれない。

851 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:33:35 ]
どうせグローバル変数的に使うとはいえ、
それゆえにどこから変更されてるかを追跡するためにも
>関数経由にしておけばデバッグするときに setter で引っ掛ければいいだけだから
というのは地味に大事


852 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:38:31 ]
ゲーム状態も例えば、プレイヤキャラの他にAIキャラが裏で進行中なんてことになると、
グローバルだと破綻するよね。そんな場合はゲーム状態はキャラクタに依存する情報になるわけだけど。

853 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:46:14 ]
シングルトンとグローバル変数は違う。
グローバル変数として使ってる間違ってる例が多いのが勘違いの原因かもしれない。

自分だったら>>846の場合、シーンマネージャクラスを作ってそいつに振る舞いを管理させる。
極力グローバル変数は使わない。



854 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:01:10 ]
シングルトンは初期化のタイミングを選べるからグローバルとは大きく違う。

855 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:20:00 ]
結局オブジェクト指向の導入でCにおけるグローバル変数使用の問題は解決できてないんじゃねえの
Cを極めればオブジェクト指向言語を使わなくても良いコードが書けるんじゃねえの結局クラスとか
オブジェクトとかデザインパターンとか複雑で分かりにくくするなだけじゃね

856 名前:デフォルトの名無しさん [2008/02/27(水) 00:21:36 ]
system は空白が改行のように扱われてしまいます
パラメータは渡せませんか?

857 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:22:49 ]
>>855
んなこたーない

858 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:26:23 ]
ファイルの読み込みについての質問です。

 ----
 2008/02/20,01:00:00
 2008/02/21,02:00:00
 2008/02/26,03:00:00
 …
 ----

と書かれたファイルを、

 tmp[0] = 2008;
 tmp[1] = 2;
 tmp[2] = 20;
 tmp[3] = 01;

といったように取り込みたいです。
スラッシュとカンマとコロンを区切りにしてうまく取り込む方法を教えてください。
もし、スラッシュしかなければstrtokとatoiでできたのですが、3種類あるので困っています。
よろしくお願いします。


859 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:28:04 ]
>>856
どんな文字列を渡したとき?

860 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:28:08 ]
見た感じフォーマットは固まってるだろうから
単純に先頭からパースするだけじゃね

861 名前:デフォルトの名無しさん [2008/02/27(水) 00:29:09 ]
string s;

s.substr(0,4);
s.substr(5,2);
s.substr(7,2);
とかでいいのでは?

862 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:31:49 ]
>>858
fscanf(fp, "%d/%d/%d,%d:*[^\n]", &tmp[0], &tmp[1], &tmp[2], &tmp[3]);

863 名前:デフォルトの名無しさん [2008/02/27(水) 00:31:50 ]
>>859
自己解決しました 同名のexeがありそれが動いていたようです



864 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:34:11 ]
862の訂正 *の前に%
fscanf(fp, "%d/%d/%d,%d:%*[^\n]", &tmp[0], &tmp[1], &tmp[2], &tmp[3]);

865 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:34:23 ]
>>855
>Cを極めればオブジェクト指向言語を使わなくても良いコードが書けるんじゃねえの
これは当たり前なんだが、(といってもオブジェクト指向を使わないって意味じゃない、
Cでもオブジェクト指向は昔から存在する)

>結局クラスとかオブジェクトとかデザインパターンとか複雑で分かりにくくするなだけじゃね
何が複雑なんだ?
デザインパターンなんか当たり前の設計パターンに名前付けただけじゃないか。

866 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:36:27 ]
変数へのアクセスを制限することで単純になるんだけどなぁ。
無制限に変数にアクセスできたほうが複雑だって、わかんないかなぁ。

867 名前:デフォルトの名無しさん [2008/02/27(水) 00:48:26 ]
Perlの文法が糞なのは間違いない。

868 名前:858 mailto:sage [2008/02/27(水) 01:12:38 ]
>861
レスありがとうございます。
が、、私ではうまいこと使えませんでした。ごめんなさい。。

>860, 864
fscanfでできました。
どうもありがとうございました。

869 名前:デフォルトの名無しさん [2008/02/27(水) 01:23:50 ]
C++で配列のコピーってどうやりますか?
for()文で代入を回す?


870 名前:デフォルトの名無しさん [2008/02/27(水) 01:24:40 ]
memcpyが最速では

871 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:26:15 ]
>866
何を以て「単純」とするかに依るんだろうな。
多分 >855 は言語の構造として単純であること、習得の容易さなどを見て言っているんだろうが
大きなコードを、そのまま扱うと中身はかなり複雑化する。
クラスや名前空間などを使って、大きなコードを小さな部品の集合体として考えて
それぞれの部品単位で扱うことで、ひとつひとつの部分は単純になる。

872 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:26:28 ]
>>869 std::copy()

873 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:27:43 ]
>>870 C++ で memcpy() は使わない。禿との約束だよ。



874 名前:デフォルトの名無しさん [2008/02/27(水) 01:30:02 ]
推奨されていなくても確保の仕方から
vectorでもstringで有効でしょう memcpy

875 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:31:12 ]
memcpyより自分でアセンブラ書いた方がはやかったんだけど、そんなもん?

876 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:31:59 ]
>>875 それはめずらしい。

877 名前:デフォルトの名無しさん [2008/02/27(水) 01:39:54 ]
memcpyより早いコードくれ

878 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:40:26 ]
SSE使ったんだけどね

879 名前:デフォルトの名無しさん [2008/02/27(水) 02:17:49 ]
マイクロソフトのCHMファイルはなかなかいいんだけど
SJISしかコンパイルできなくて、サイズが20Mとかになるとコンパイルに失敗する
CHMをパクってWindowsの標準ヘルプ形式を作りたい 
参加者募集中
圧縮接尾辞配列がいいと思う
ブロックーソーティングしたデータはそのまま全文検索できるとおもうがどうか?

880 名前:デフォルトの名無しさん [2008/02/27(水) 02:27:20 ]
複数のテキスト文書を圧縮できてかつ高速に全文検索できて
CHMのような普及率を目指したい
デスクトップサーチとは目的が違う 元のファイルが復元できてまとめられる点が大事

881 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:28:28 ]
tarでいいじゃない

882 名前:デフォルトの名無しさん [2008/02/27(水) 02:33:30 ]
tarは全文検索できるように設計されてるの?

883 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:38:51 ]
tarは圧縮しないからね。



884 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:40:51 ]
>>875
アラインメントに縛りを入れれば早くはできると思う

885 名前:デフォルトの名無しさん [2008/02/27(水) 02:46:44 ]
半分にはならないとだめだな chmは全文検索できて元の半分になるよ

886 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:51:09 ]
>>880
専ブラのログをまとめるのに便利そうだ
あてにせず期待してるよ

887 名前:デフォルトの名無しさん [2008/02/27(水) 03:29:32 ]
badc$の巡回データは
adc$b
dc$ba
c$bad
$badc

ソートすると
$badc
adc$b
badc$
c$bad
dc$ba
ブロックソートではcb$daというデータのみが与えられる
復元しようとするとここまでは直ぐわかる
$***c
a***b
b***$
c***d
d***a
c$、ba、、$b、dc、adと繋がっていることがわかる
たとえばdcというデータは何番目に出現するか求めるとすると末尾のcから調べていけば良さそうだが

888 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 03:41:52 ]
std::string
のような STL クラスを前方宣言するにはどうしたらいいですか?
それともこういうクラスって前方宣言しないでヘッダーに直接 include
させても問題ないですか?

889 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:17:01 ]
Visual C++ Express Edition を入手したので、簡単なプログラムを作ってみようと思ったのですが、
なぜかコンパイルできません。
コマンドラインで、 cl c:\source.cpp としても、
'cout' : 定義されていない識別子です。
'endl' : 定義されていない識別子です。
等とエラーが返ってきます。
ちなみに、ソースは以下のようなものです。

#include <iostream>

int main(void)
{
cout << "Hellow, World!" << endl;
return 0;
}

なぜエラーになるのか分かりません。お暇な方いましたら、どうかお知恵をお貸しください。

890 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:20:39 ]
×cout << "Hellow, World!" << endl;
○std::cout << "Hello World!" << std::endl;


891 名前:デフォルトの名無しさん [2008/02/27(水) 04:21:19 ]
あんたが外国にいるんじゃなかったら、本を買って勉強しる。

とりあえず、
std::cout << "Hellow, World!" << std::endl;
としてやってみ。

もしくは、
using namespace std:
をinclude 文の下に書いておくとか。

まあがんばれ。



892 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:24:33 ]
>>890
ありがとうございます。
using namespace std; を追加したらコンパイルできました・・・ ^ ^;
最初、#include <iostream.h> としていて、コンパイル時にそんなファイルは無いと言われ、
#include <iostream> に直したら今度は cout が定義されて無いと言われ・・・
完全に勉強不足ですね・・・・

893 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:48:08 ]
>892
環境によっては

#include <iostream.h>

と書くと、using namespace std; を勝手にやってくれるんだわ。
多分、そういう環境を前提にしたコードだったんだろう。



894 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 08:20:07 ]
ついでに勉強不足の俺に教えてください
#include <string.h>
#include <stdio.h>
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string a = "0908a89";

printf("%s\n", a);
getchar();
return 0;
}

aに0908a89が代入されて無いみたいなのですが、何処がまずいのでしょうか?

895 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 08:37:47 ]
いろいろまずい。
というか、それVCならコンパイルとおるの?gcc 2.96だと少なくとも通らない。

・string.hってCの奴じゃないかな。#include <string>と書くべし
・その場合aってのはstring型なので、printfに%sで受けるのはよろしくない。
 書くならprintf("%s\n",a.c_str());
・でも、せっかく#include <iostream>してるんだから
 cout << a << endl;でいいじゃん。
・ところで最後のgetcharは何のために?

以上直すと、こっちでは代入されるよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef