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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 21:36:23 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【前スレ】
【初心者歓迎】C/C++室 Ver.34【環境依存OK】
pc10.2ch.net/test/read.cgi/tech/1169039760/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

75 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:24:14 ]
>>73
それはscanf()の代わりにlex & yaccを使え、と言っているようなもので、
適切な代替物というよりはオーバースペックに思えます。
無論、もともとlexが適切なケースではlexを使えばよいでしょう。

76 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:27:14 ]
少なくとも俺がBoostを使い始めてからの3年間では
入力でboost::formatが使えるなんて与太話は聞かない。

つ boost::Xpressive

77 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:28:45 ]
readlineしてregexp。

78 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:33:38 ]
>>76
初めて知りました。boost::regexの次期バージョンなのでしょうか。
>>77
regexpだと、その後さらに型変換が必要ですよね。文字列からの。
scanf()より余程複雑な字句解析を行うことができますが、
記述性と簡便性においては、かなり劣るといわざるを得ないのではないでしょうか。

79 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:37:49 ]
なんだか要求が微妙すぎるな。
自作するしかないのでは。

80 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:44:27 ]
googleがPCREに寄贈したラッパーコード(pcrecpp)では、

int n;
string s;
pcrecpp:RE re("(\\w+)=(\\d+)");
re.FullMatch("ruby=1234", &s, &n);
のようなことが出来るようですね。

これぐらいだとかなりいい感じです。

81 名前:デフォルトの名無しさん [2007/02/23(金) 11:36:38 ]
仮想関数についての質問です
派生クラスで再定義するメンバ関数以外に仮想関数にする意味はありますか?

82 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 11:45:35 ]
>>81
あんまり無い。
仮想関数の意味を理解していれば自明だと思うが。

ただしデストラクタとか暗黙のうちに再定義されるものも
あるので、知らないと良く分からない場合もあるかも。
あとは RTTI を有効にするためだけのダミーとか。

83 名前:デフォルトの名無しさん [2007/02/23(金) 17:58:49 ]
整数型のメンバ配列変数の便利な初期化方法を教えてください



84 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 18:05:45 ]
>>83
つ[std::vector]

85 名前:デフォルトの名無しさん [2007/02/23(金) 18:08:07 ]
普通の配列の初期化は無理ですか?

86 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 18:12:33 ]
コンストラクタで memset すればいいのでは。

87 名前:デフォルトの名無しさん [2007/02/23(金) 18:25:57 ]
memsetでやります

88 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 18:39:05 ]
memset()なんて濫りに使うもんじゃない。
せめてstd::fill()を使え。

89 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 18:41:54 ]
そのほうがよかろう

90 名前:デフォルトの名無しさん [2007/02/23(金) 19:41:21 ]
カラフルなテキストを表示したいんですけど
SetTextColor+DrawTextだと限度を感じました。(頑張っても行単位がいいところ)
黒黒赤赤黒黒
黒黒青青赤青
こんな風に描写するのに適した関数教えてください。

91 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 19:42:59 ]
>>90
スレ違い

Win32API質問箱 Build50
pc10.2ch.net/test/read.cgi/tech/1171721448/

92 名前:デフォルトの名無しさん [2007/02/23(金) 19:53:32 ]
>>90
一文字ずつ色設定して一文字ずつ書き込む
どうかんがえても、これしかないでしょう
どの環境でも

93 名前:デフォルトの名無しさん [2007/02/23(金) 19:59:59 ]
VisualStudio 2002環境で確認したのですが
stringstream::operator <<()を使用すると
プロセス終了まで開放されないメモリプールが発生しているようなのですが
対応方法をご存知の方いらっしゃいませんか?

スレッドを作っては消すを繰り返すプログラムで
生成したスレッド内でoperator<<()を使用すると使用メモリが増加するのですが
インスタンス・スレッドハンドルの開放を行ってもメモリが減りません
(インスタンスを生成しただけでは問題ないようです)

CreateThread()ではCライブラリでメモリリークが発生するとの記述もありますが
スレッドを_beginthreadex()で生成しても発生していて困っています



94 名前:90 mailto:sage [2007/02/23(金) 20:08:37 ]
>>91
スマン去ります。

>>92
文字列中のタグ解析して色自動でつけてくれるよな物が関数化されてるかと思って

95 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 21:12:58 ]
>>90
Win32APIスレ行け
んでもってリッチテキストでも使ってろ

96 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 00:15:58 ]
>>93
それは繰り返しただけメモリ使用量が増加していくの?
プールがちゃんと再利用されてれば問題ないようにも思うんだけど。

97 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:50:18 ]
質問です。
配列を使い、その値の合計値を出す際に私はループカウンタを利用して足す手法を
思いつくのですが、それ以外の方法があると聞きました。
ですが、それ以外の方法が思いつかなく質問させてください。

int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int nSum = 0;

for ( int i = 0; i < 10; i++ )
{
nSum += a[i];
}

return nSum;

ここでループカウンタを使用せず、配列の全てを足すにはどうしたら良いでしょうか。

98 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:57:24 ]
>>97 素直が一番
こんなのじゃなくて
int nsum(int data[], int data_num){
if(data_num<=0) return 0;
return data[data_num-1]+nsum(data, data_num-1);
}

int nsum(int data[], int data_num){
int *p, sum=0;
for(p=&data[0];p!=&data[data_num];p++)
sum+=*p;
return sum;
}

99 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:59:22 ]
>>97
std::accumulate()

100 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 12:05:12 ]
回答者にも遠慮なく突っ込みを入れよう。

引き数がポインタなので、&data[0]する意味がない。p = dataで充分。
そもそも、ポインタを回す必要はない。ポインタ演算はバグの温床として禁止するコーディング規約もあるくらいだ。
したがって、

int nsum(int data[], int data_num){
// if (data_num < 0 || data == NULL) return 0; // 状況によっては神経質にここまでやるべき。
int sum = 0;
for (int ic = 0; ic < data_num; ++ic) {
sum += data[ic];
}
return sum;
}
の方が自然だろう。

101 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 12:12:07 ]
>>100
>引き数がポインタなので、&data[0]する意味がない。p = dataで充分。
終了条件と書き方を合わせたほうがいいと判断した

>そもそも、ポインタを回す必要はない。
*ループカウンタを使用せずに*

ついでいうと >>98 の書き方を推奨してはいない

102 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 12:14:39 ]
std::accumulate( &data[0], &data[num], 0 )

103 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 14:12:19 ]
>>101
ちょっと>>98を改造して末尾再帰になるようにしたぞ。
これなら文句あるまい。

#include <stdio.h>

int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

int nsum(int data[], int data_num, int acc){
return data_num<=0?acc:nsum(&data[1], data_num-1, *data+acc);
}

int main(void) {
printf("%d\n", nsum(a, 10, 0));
return 0;
}




104 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:37:53 ]
WinAPIの関数で、DWORD型で(コールバック)関数のアドレスを渡す ものがあるのですが、
これに自作のクラスのメンバ関数のアドレスを渡すと、DWORDに変換できないと言われ、コンパイルできません。
そのメンバ関数がstaticなら、コンパイルに成功するので、
「メンバ関数は、普通の関数とは構造が異なる」という理由だと思うのですが・・・
メンバ関数のアドレスを渡すことは不可能ですか?

105 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:43:43 ]
>>104
非staticなメンバ関数≒インスタンス情報をパラメータに取るstaticなメンバ関数 なので、
そのままでは渡せません。素直にstaticなメンバ関数を渡せば宜しいのでは?

106 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:47:55 ]
ここでエスパー
ウィンドウクラスを作ろうとしているなら、

つ [SetProp]

107 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:11:31 ]
>>104
その「コールバック関数を引数に取る関数」に、
コールバック関数に渡す値という引数はないか?

ところでWindows APIのコールバック関数のアドレスを引数に取るのだったら、
DWORD型ではなく何か関数へのポインタ型になっていると思うのだが、
一体何の関数だ?

108 名前:デフォルトの名無しさん [2007/02/24(土) 17:13:24 ]
初心者です
if文の中で処理をしてから判断できるんですか?
if(a=5,a==5)みたいな感じ

109 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:16:39 ]
こんな感じのこと?

int moji;
while((moji=getchar())!=EOF)
putchar(moji);

典型的なパターンの時以外はやめたほうがいいよ

110 名前:デフォルトの名無しさん [2007/02/24(土) 17:21:20 ]
評価式と別の普通の式をif文の中で分けて使いたいんですが

111 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:22:13 ]
やめておいたほうがいい

112 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:26:56 ]
>>108
>108の例だと、素直に a = 5; if (a == 5) ...; と書いた方がいい。
醜くなるだけでメリットは殆どない。

113 名前:デフォルトの名無しさん [2007/02/24(土) 17:34:40 ]
では例えば

if(関数式==1)
else if(関数式==1)
else if(関数式==1)
else if(返り値=関数==1)
のときの

else if(返り値=関数)の関数にかかる時間を計りたいとき

関数の中で時間を計らないで関数の呼び出されてから終了までの
経過時間を計りたいときはどうすればいいですか?

その場合 if(整数A=clock(),評価式)
整数B=clock();
整数A-=整数Bでいけますか?



114 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:03:27 ]
clockは経過時間ではなくCPU時間

115 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:05:28 ]
デバッグ目的なら好きにすれば?

116 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:06:31 ]
デバッグ目的ならプロファイラがいいと思うけど

117 名前:デフォルトの名無しさん [2007/02/24(土) 18:07:24 ]
そのあとの経過時間によって処理を分けるので^^;
なにか良い方法があれば教えてください

118 名前:デフォルトの名無しさん [2007/02/24(土) 18:08:46 ]
>>114
1000で割れば経過秒数になりますよね?

119 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:10:51 ]
CLOCKS_PER_SEC で割る

120 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:11:17 ]
なんか激しく無謀なことをしている悪寒。

121 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:16:02 ]
ゲームでPCスペックが低い時にフレームスキップするみたいなことをしたい訳だな

122 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:38:30 ]
>>113
if(返り値=関数==1)
こういうのって修正とかデバッグなどしにくいから俺としてはNG。

返り値=関数;
if(返り値==1)

最初からこうならデバッグとか修正とかしやすい。

確かに行数増えるけど
今の俺はそんなこと気にしなくなった。

経過時間は以下みたいに巣りゃいいんじゃナインお

st = 現在時間取得
返り値=関数
et = 現在時間取得
経過時間 = et - st

123 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:43:36 ]
>>122
それ意味変わってね?
==のほうが優先順位高いよ。



124 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:43:38 ]
>>122
>>113をよく嫁

125 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:46:43 ]
>>113自体エスパーが必要だと思うんだが

126 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:47:50 ]
122じゃないけど、自分も同じことやってたよorz


127 名前:デフォルトの名無しさん [2007/02/24(土) 18:51:23 ]
>>125
初心者なんですいません

やってみたらできたんで今はclock()を使ってます

128 名前:デフォルトの名無しさん [2007/02/24(土) 20:30:32 ]
>>96
1スレッドごとにプールを製作するようです
したがって、同一スレッド内では再利用されるので問題ないのですが
スレッドを閉じて新しいスレッドを生成すると
新しいプールが作成されて、古いプールが残るようなのです

このプールがいつまでも残っているようで困っております

遅レスでもうしわけないです

129 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 20:32:31 ]
CRTはソースあるんだから嫁よ。

130 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 20:57:20 ]
>>128
「〜ようです」って、何見て言ってるんだ?

131 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:04:07 ]
>>128
「〜ようです」って、何見て言ってるんだ?

132 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:12:55 ]
>>128
「〜ようです」って、何見て言ってるんだ?

133 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:17:32 ]
何度言えば気が済むんだ?



134 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:18:15 ]
malloc()/newの類はfree()/deleteしても一般にはOSにメモリを返さないという
超基本的事項を知っているか。
free()されたメモリはOSに返さず次のmalloc()で再利用するのがこうした
関数の基本的な戦略だ。

したがって、一般にプロセスの最初にガバッとmalloc()して大きな仕事をし、
その後free()してもプロセスのワーキングセットは大きいままだ。
これは俗に言う「メモリリーク」ではないのだが、
それが問題になるようであれば、自分でHeapAlloc()なりVirtualAlloc()なりを
用いてカスタムのアロケータを書いて、basic_stringstream<>の
テンプレートパラメータとして渡してやるんだな。

135 名前:デフォルトの名無しさん [2007/02/24(土) 22:15:30 ]
>>134
ありがとうございます
やってみます

136 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:18:53 ]
HeapAlloc/FreeだってOSに返さないで次のHeapAlloc呼出に再利用するぞ。
HeapDestroyでは流石にOSへ返すが。

137 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:35:45 ]
Linux、UNIXあるいはMacで、OSの名称やバージョン情報を取得するにはどの関数を使えば良いですか?
例えば、FreeBSD 6.0、Vine Linux 4.0などです。
WindowsはGetVersionExなどで出来ました。

138 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:38:59 ]
man 3 uname

139 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:02:10 ]
OSはlinuxです。C/C++勉強してます。
ディレクトリの中のファイルの日付を取得したいのですが、
opendirとreaddir関数使いました。
struct dirent {
ino_t d_ino; /* "inode number" of entry */
off_t d_off; /* offset of disk directory entry */
unsigned short d_reclen; /* length of this record */
char d_name[1]; /* name of file */
};
この中に日付無いのですが、どうしたらよろしいでしょうか。
よろしくお願いします。

140 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:12:23 ]
>>139
つ[stat()]

141 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:37:57 ]
>>140
レスありがとうございます。
d_nameを元にファイルのpath指定して、
stat()実行して、struct statを取得する感じですか。
なんか大変な感じします。(汗

142 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:55:57 ]
>>141
つ[popen("/bin/ls -l", "r")]

143 名前:デフォルトの名無しさん [2007/02/25(日) 00:48:23 ]
unsignedはどういう場合に使うべきなんでしょうか?
例えばループのカンターなんかは符号付きを使用すると思いますが、
実際の所は符号なしの方が意味的にはあっていると思います。
ビットシフトしたいとき、くらいしか思いつかないんですが、他にどんな使い道がありますか。



144 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:07:48 ]
>>143
typedef unsigned char BYTE;
size_tもunsignedだな
ループカウンタとかunsigned付けるの面倒だよね。
size_tがunsignedだからもっと使っているはずだけど面倒。
負にならないもの全てunsignedとか面倒だからやらないんじゃない。
unsigned intならファイルサイズとか4Gまで表現できるけど面倒だからintで計算。
2GB以上はこのプログラム動きません。
たとえlong longとかあっても面倒だからunsigned long longでファイルサイズを表そうとも思わない。
俺の場合はね。

145 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:36:52 ]
>>142
レスありがとうございます。

FILE *p;
p = popen("/bin/ls -l", "r");
ネットで検索したところ、
こういう使い方すると、出力をファイルのように
扱うことが出来るみたいですね。
一行ずつ読み込んで、スペースで区切ると日付も取得できそうです。
コマンド実行->標準出力取得 って、やり方知らなかったので
大変勉強になりました。
でも、時間の型を考えるとやっぱり、今回は、stat()関数使用してみます。
ありがとうございました。

146 名前:デフォルトの名無しさん [2007/02/25(日) 17:45:57 ]
質問です。
CのソースからC++のソースを呼び出したいのです。

具体的には、
既にかなりの規模になってしまった拡張子.cのプログラムソースがありまして、
どうしても欲しい機能がC++で書かれているので、インクルードしたんですが、当然Cのソースからそれらを読むとコンパイルエラーになってしまいました。

hoge.cppと言うファイルにC++関連のプログラムを書き、何とかその関数をc側から読み出したいのですが
インクルードすると、エラーが出ますし、どのようにすれば良いのでしょうか?

尚環境はVC++.NET 2003です。

よろしくお願いします。


147 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 17:55:14 ]
EXTERN_C

148 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 17:58:33 ]
>>147
レスありがとうございます。
extern "C"
をつけた関数の中から、C++固有の機能(クラスなど)へのアクセスが出来ないのですが…
具体的には、error LNK2019: 未解決の外部シンボル とエラーが出ます。


149 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:00:08 ]
ヘルプ

150 名前:デフォルトの名無しさん [2007/02/25(日) 18:02:01 ]
ユーザーが入力した日時 (日付と時刻) を
設定ファイルに記録しておこうと思うのですが、
どういう形式で記録するのが一般的ですか?
asctime 関数のような 「Sun Feb 03 11:38:58 2002」 のような形式は
気持ち悪いので採用したくないです。

151 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:02:58 ]
>>148
そりゃC言語にない機能だからクラスを扱えないよ。
C++の方で呼べるようにしてあげないと。

152 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:06:46 ]
>>151
間違えたかも。

>>148
C++の方では
Cから呼べるようにクラスじゃない関数でextern "C"を付けて作る。


Cの方では
extern "C"を付けた宣言をする。
これで呼び出せると思うけど忘れた。


153 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:11:24 ]
>>151
確認したいのですが、extern "C"をつけるのはC++側の関数へですよね?
main.c
#include "hogehoge.h"
int main(void){
int a=0;
func(a);
return 0;
}
hogehoge.cpp
#include <vector.h>
extern "C" void func(int a){
vector<int> v;
}
hogehoge.h
#ifdef __cplusplus
extern "C" {
#endif
void func(int a);
#ifdef __cplusplus
}
#endif

こういう形なんですが・・・。



154 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:18:52 ]
>>150
設定ファイルを直接見る必要が無いなら
timeで拾った値をバイナリで書き込めばいいんじゃないかな。

155 名前:デフォルトの名無しさん [2007/02/25(日) 18:20:35 ]
設定ファイルはテキストファイルと決まってしまっているんです。
見ることはあまりないですけど、たまに見ることもあるものです。

156 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:25:04 ]
>>150
W3C-DTF

157 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:30:34 ]
>150
rfc 3339

158 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:33:33 ]
>>153
これで動くんじゃないの?

159 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:38:48 ]
おいらのところではコンパイル・リンクできたけど?

160 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:51:23 ]
>>155
time_tの整数値
yyyymmddhhmmss形式
y/m/d h:m:s形式
好きにしな。

161 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 19:00:51 ]
>>150
どういう形式にするにしても、strftime関数が使えると思う。

162 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 19:12:08 ]
>>150
一般的といいつつも日本人向けにしたいっていうことだよね。

163 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:11:34 ]
W3C とか RFC の形式を採用してみます。
情報ありがとうございます。



164 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:51:02 ]
フォルダ内の全ファイルを列挙するプログラムを教えて下さい

165 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:53:35 ]
system("dir");

166 名前:164 mailto:sage [2007/02/25(日) 22:04:00 ]
printfで表示するには?

167 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:06:14 ]
そういえば昔、
system("dir > hoge.txt")して、fopen("hoge.txt","r")...みたいなことを
やってた連中が居た。

168 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:11:16 ]
>>164
環境依存

>質問者は必ず、環境を書きましょう。

169 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:13:08 ]
>>167
十分アリだと思う dir /b ほうがイイと思うが

170 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:15:15 ]
popenの事たまには思い出してあげてください

171 名前:164 mailto:sage [2007/02/25(日) 22:16:58 ]
VisualC/C++
WindowsXP
フォルダ内のファイル名をstd::stringの配列に格納したいのです

172 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:32:34 ]
>>171
FindFirstFile
FindNextFile

あたりでどうかな

173 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 22:56:24 ]
イベント オブジェクトが現在シグナル状態にあるかどうかを調べるには、
どうしたらいい? WaitForSingleObject を使うの?



174 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 23:03:35 ]
そう、待機時間を0にすればいいと思う。

175 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 23:08:32 ]
そうか、ありがと。






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

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

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