1 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:09:22 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.44【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1194016813/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
231 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:30:00 ] すいませんCの質問かどうか微妙なんですが、 同じ数字を繰り返す式例えば while(){ int num++; a = num % 3; }であれば012012012とaの値が変化しますよね、 これと別に0121012101210って感じで変化する数字を作り出すやり方ってありますかね?
232 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:34:06 ] >>231 3行目、aじゃなくてnumな。あとnumのスコープが狭すぎ。 int num=0; static int array[] = { 0, 1, 2, 1 }; while() { int a = array[ num ]; num = ( num + 1 ) % 4; } テーブルで変換とかどう? 1の次が0になる場合と2になる場合があるから単純なステートマシンじゃ無理かと。
233 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:39:43 ] >>232 なるほど。おっしゃるとおりテーブル使ったほうがよさげですね。 実はこれ今作ってるゲームのアニメパターンの変化部分で使うんですよ。 グラデーションみたいなアニメなんで012012みたいな循環数字(?)じゃ気に入らなくて、、、 ありがとでした!!
234 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:53:15 ] >>221 TCPなら順序制御があるけど、何が問題なの? 少なくともトランスポート層以上では正しい データになってるだろ。 アプリ層で60kByte取得するまで待てばいいんでは?
235 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:58:13 ] >>233 三角関数使うといいんじゃね?
236 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 03:39:42 ] int main(){ const int C = 100; const double PI=3.1415f; const double K = 10.0f; double i=0.0f; for(int r =0;r<C;r++){ double t=0; for(double x=1.0f;x<K ; x=x+1.0f){ t = t + sin((x* PI )/2.0f ) * (sin( x * i))/(x*x); } cout << static_cast<int>(round(fabs(t*(8.0f/(PI*PI))) * 2)) << endl;; r%4==0 ? i=0.0f:i=i+PI/4.0f; } return 0; }
237 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 05:07:14 ] >>224 どうしてunion使わないの?
238 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 07:25:38 ] struct Foo { double value; char *name; }; int main (int argc, char *argv[]){ int i; for(i = 1;i < argc; i = i + 2) struct Foo test[i] = {atof(argv[i]), argv[1+i]}; とやると、 .c:13: error: parse error before 'struct' .c:17: error: 'test' undeclared (first use in this function) .c:17: error: (Each undeclared identifier is reported only once .c:17: error: for each function it appears in.) ってコンパイルエラーが出てコンパイルできないんですけれど、 どうやれば構造体を宣言できるのか分からないので教えていただけないでしょうか?
239 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 07:44:39 ] >>238 for(i = 1;i < argc; i = i + 2) struct Foo test[i] = {atof(argv[i]), argv[1+i]}; ↑こんなことできん。 いったい何をしたいんだ?
240 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 08:10:40 ] >>239 できないんですか〜。 残念。 正確にやりたいことを書くと、引数に「100,りんご,200,みかん,150,バナナ」みたいなものがあります。 でも引数の数は「100,りんご,200,みかん」かもしれないし、「100,りんご」かもしれないし、もしかしたら引数がないかもしれません、 で、まず構造体を作って、 struct Foo { double value; char *name; }; int i; for(i = 1;i < argc; i = i + 2) struct Foo test[i/0] = {atof(argv[i]), argv[1+i]}; ってできないかなぁと思って。
241 名前:240 mailto:sage [2007/12/12(水) 08:12:12 ] struct Foo test[i/2] = {atof(argv[i]), argv[1+i]}; の間違いです。
242 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:06:49 ] >>236 それはやりすぎwww
243 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:31:57 ] i/0ってw
244 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:44:43 ] >>224 要素が12bitのように振舞うvector<signed long>のラッパー vector<signed long>に12bitずつ格納するラッパー イテレータも実装すればいろいろ応用できるだろう
245 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 11:12:50 ] >>240 造体の要素ごとに入れていくか、 コンストラクタつきの構造体(クラス)にして、引数にするとかじゃね? っていうか、やりたい事を見ると、簡単な構文解析が必要なんじゃね?
246 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 11:51:50 ] >>221 MTU (最大転送単位)なんだから、MTUより大きなパケットは使えません。 なんで分割されると困るの?
247 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:23:24 ] if(!a)printf("hello world"); だとaが偽(0の時)の時printfを実行するという意味でしょうか
248 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:31:10 ] そうですよ。
249 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:34:02 ] >>247 の質問をエスパーするとだな 真が0以外なのに正常終了が0なのはどうしてですか ってことだと思う
250 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:42:26 ] #include <vector> #include <sstream> #include <algorithm> struct Foo { double value; std::string name; }; int main (int argc, char *argv[]){ { std::vector<Foo> FooArray; if (argc > 1) { std::vector<char> str(argv[1], argv[1] + strlen(argv[1]) + 1); std::replace(str.begin(), str.end(), ',', ' '); std::stringstream buf(&str[0]); Foo data; while (buf >> data.value >> data.name) FooArray.push_back(data); } return 0; }
251 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:44:05 ] >>250 は>>240 へのレスね。ちなみにマルチバイト文字列だとバグるかも
252 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:50:44 ] >>250 240 を見る限り、実際にカンマ区切りのテキストを入力するわけじゃなくて argv に2つずつ並んでるみたいだよ。そんなめんどくさいことしなくていいみたい。
253 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 14:01:09 ] #include <vector> #include <string> int main(int argc, char ** argv) { struct valname { double value; std::string name; }; std::vector<valname> valnames; for (int ic = 1; ic < argc; ic += 2) { valname data = {atof(argv[ic]), argv[ic + 1]}; valnames.push_back(data); } for (std::vector<valname>::const_iterator it = valnames.begin(); it != valnames.end(); ++it) { std::cout << it->value << ' ' << it->name << '\n'; } return 0; }
254 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:08:21 ] ポインタ配列は、一つ当たり32bit使いますか?
255 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:12:56 ] >>254 環境によります。 printf("%u\n", sizeof(void *))とでもしてバイト数を割り出してみてください。 大抵の環境では、その8倍がビット数になります。
256 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:14:39 ] サンクス
257 名前:デフォルトの名無しさん [2007/12/12(水) 15:29:40 ] int ch; while((ch=getchar())!=EOF){ if(if(isalpha(ch)) analysis(ch); } ってなってるところで11Fってやったらanalysis(ch)に11回Fをいれるようにしたいんですどどうすればいいですか? analysis(ch)は他の関数です。
258 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:38:14 ] >>257 ループの外で count という変数を宣言して、0で初期化 ループの中で、isdigit() だったら count = count * 10 + ch-'0' analysis() を呼ぶところで、count の回数だけ繰り返し
259 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:39:51 ] >>257 日本語とCでOK。
260 名前:デフォルトの名無しさん [2007/12/12(水) 16:09:33 ] >>258 有難うございます、やってみます。
261 名前:デフォルトの名無しさん [2007/12/12(水) 16:59:20 ] const int num = 5; int a[num]; って、C++では、配列を宣言ってできるの? これが出来たら、配列が動的に宣言できちゃうことにならない?
262 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:02:34 ] >>261 numはコンパイル時に確定しているから静的でないといけないC++でも問題ない。 Cの場合は、ローカル変数なら同じ方法で動的に宣言できる。
263 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:45:57 ] >>261 const は動的に書き換えられないので問題ない。
264 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:46:57 ] >>262 それはC99だろ
265 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:49:24 ] >>263 でも、変数の初期化時に動的な値で初期化できないかい? const int num = f(); みたいな感じで
266 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:59:55 ] >>265 やってみろ。話はそれからだ。 >>264 C99はCではないとでも?
267 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:29:48 ] >>266 C99はCの一つ。だから、Cの場合は云々行った場合、 それがC99だろうと、C89だろうとかまわない内容でないとまずいだろ。 ちゃんとC99である事を明記するべきだといっているんだ
268 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:42:03 ] なに、じゃあいまさらK&R形式でやれと? 構造体の直接代入は禁止かい?
269 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:53:47 ] 頭の悪い絡み方だが、本人的には鋭い突き上げなんだろうね。
270 名前:266 mailto:sage [2007/12/12(水) 20:19:43 ] いや、>268は私じゃないし。
271 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:21:03 ] いまの32bitx86用商用コンパイラってだいたいC++コンパイラだろ C99をサポートした上記用Cコンパイラって何かある?
272 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:27:39 ] 取り敢えず、icc, sun studioはc99だね。
273 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:52:11 ] そもそも32bit x86用商用コンパイラ、というカテゴリそのものがアレだなー。
274 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 21:26:35 ] まぁC99、あんま流行ってないしな。
275 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:02:47 ] >>274 まーね、C++のCの部分だけで十分なんだけどって感じかな。 俺としては、C99サポートよりC++TR1のサポートを要求するって感じだ。 >>272 やっぱ、銭にならん、あるいは、対応要求が強くないからかなサポートしないってことかな。
276 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:07:35 ] というか、「いまの32bitx86商用Cコンパイラ」をC99対応に関わらず 列挙してみろってば。
277 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:19:19 ] ググレカス
278 名前:デフォルトの名無しさん [2007/12/12(水) 22:49:57 ] C++で typedef は何の為にあるんでしょうか。 自己満足以外の使い方を教えてください。
279 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:54:20 ] 移植性と書きやすさ
280 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:06:02 ] >>275 >まーね、C++のCの部分だけで十分なんだけどって感じかな。 つーか、C89から使ってる人間からすると、C99でどうしても欲しい機能って無いのよ。 むしろC99に対応するより、ISOやらJISやらにC89の規格を閲覧出来るようにしろと要求したい。
281 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:11:36 ] >>278 traitsの表現 というか自己満足してるのはお前だけ
282 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:27:42 ] typedef無かったらめっちゃ不便やん? テンプレート使うときとか後で変更される可能性のある型使うときとか
283 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:31:06 BE:335659853-2BP(35)] コードコンプリート第2版とModernC++Designまじおすすめ
284 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:13:25 ] VCのうにコードな時、TEXT("もじれつ")でWSTR[]が作れるけど、 文字からWCHARを作るにはどうすればいいの?
285 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:24:05 ] おまえらC#も使えるよな?
286 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:24:24 ] TEXT('も'); _T('じ');
287 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:35:32 ] VCのうにコードな時、TEXT("もじれつ")でWSTR[]が作れるけど、 いや無理だろ
288 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:45:21 ] >>284 C/C++言語で文字列をどうこう言う前に、自然言語で正しい(意味が伝わる)文字列を 扱えるようにするのが先だとは思わないかね?
289 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:15:14 ] vector配列の解放はどうやるんですか? resizeとかで縮めるしかないですか
290 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:17:53 ] 自己解決しました clear();というのがありました
291 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:25:20 ] だめだ 解放されていない
292 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:26:46 ] reserve(0);でも解放されないよ どうしたら良いんですか
293 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:30:50 ] vectorの解放ってあんましピンとこないなー。 std::vector<T>( hoge ).swap( hoge ) でシュリンクできる、ってEffectiveSTLにあったけど、 そういう話?
294 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:34:25 ] 解放できましたよ 標準でついてないのが良くないですね main(){ int n; vector<double> a(10000000,1); vector<double>().swap(a); scanf("%d",&n); }
295 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:37:39 ] >>293 作業領域でたとえば100M使っていたとして、そのあとにもプログラムが続く場合 作業領域は消したいですよね 多分サブルーチンで確保したものは戻るときに消えていると思うのですが そうでないと消したいわけなんですが・・標準でついてないです
296 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:44:52 ] そういう意味なら、スコープ抜けたら消えるでしょ。 vectorの定義から消したい場所までをブロックで囲めば。
297 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:47:29 ] 万能解放命令できたよ template<typename T> void clear(T& t){ T().swap(t);} main(){ int n; string a; a.resize(100000000); clear(a); vector<double> b(10000000,1); clear(b); scanf("%d",&n);}
298 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:50:30 ] >>296 実験してみました ちゃんと解放しますね 勉強になりました main(){ {vector<double> b(10000000,1); Sleep(1000);} int n; scanf("%d",&n); }
299 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:00:26 ] でも有効範囲を括弧で括るのは紛らわしいですね 他にも適用範囲の別の物がまじっていたら困ります 明示的に解放するほうが良さそうですね
300 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:00:51 ] vcはclearで解放しなかったかな
301 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:23:11 ] C99の複合リテラルに対応しているコンパイラって何がありますか?
302 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:40:38 ] gccって更新はやいんじやないの?
303 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:36:56 ] >>299 まともにスコープ切ってれば明示的な解放(ブロック作成)が要るようになることなんて 無いと思うよ。そうとう特殊な場合でしょ。
304 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 02:17:40 ] ImpersonateLoggedOnUser関数による偽装ログオンについて教えてください アドミン権限で動いてるプログラムのうち、ユーザHOGEに偽装ログオンして 動かしたいA()という関数と、アドミン権限で動かしたいB()という関数があります。 このとき、 LogonUser(..., &hToken); ImpersonateLoggedOnUser(hToken); A(); B(); RevertToSelf(); CloseHandle(hToken); としてしまうと、B()までHOGE権限で動いてしまうと思っています。ので、 LogonUser(..., &hToken); ImpersonateLoggedOnUser(hToken); A(); RevertToSelf(); CloseHandle(hToken); LogonUser(..., &hToken); ImpersonateLoggedOnUser(hToken); A(); RevertToSelf(); CloseHandle(hToken); B(); とするか、 LogonUser(..., &hToken); ImpersonateLoggedOnUser(hToken); A(); RevertToSelf(); ImpersonateLoggedOnUser(hToken); A(); RevertToSelf(); B(); CloseHandle(hToken); とするかだと思うのですが、A()、B()が何回か繰り返し呼び出されるとき、後者のように LogonUser()を呼ぶのは一回だけにして、LogonUser()とCloseHandle()の間に複数回の 偽装・偽装解除・A()・B()を呼び出すのは問題ないでしょうか。 多分大丈夫なんじゃとは思うのですが、そういうサンプルコードが見あたらなかったので 決めかねている次第です。どなたか教えていただけると助かります。
305 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 11:44:17 ] 文字列リテラルにスコープってある? char *func(){ return "Hello,World!!!"; } てあり?
306 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 11:56:07 ] >>305 大蟻。 つーか、常套手段。但し、const char *を返すべき。
307 名前:306 mailto:sage [2007/12/14(金) 11:58:04 ] >>305 書き忘れた。文字列リテラル自体の生存期間はstaticと同じく、プログラム開始時から終了時まで。
308 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 12:47:11 ] >>306-307 サンクス そうかconstだったな
309 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 15:35:34 ] スコープ(名前の有効範囲。コンパイル時にチェックされる)と 寿命(変数を置く場所がその変数のための場所である期間。実行時の話)は 別の話だぞー。
310 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 22:33:52 ] 参考書を見ながら独学でやっているプログラミング初心者です。 どうにもわからないことがあるので質問します。 #include<stdio.h> int main(void){ int a = 1; int b = 0; printf("short int型のサイズは%dバイトです。\n",sizeof(short int)); printf("int型のサイズは%dバイトです。\n",sizeof(int)); printf("long int型のサイズは%dバイトです。\n",sizeof(long int)); printf("float型のサイズは%dバイトです。\n",sizeof(float)); printf("double型のサイズは%dバイトです。\n",sizeof(double)); printf("long double型のサイズは%dバイトです。\n",sizeof(long double)); printf("変数aのサイズは%dバイトです。\n",sizeof(a)); printf("式a+bのサイズは%dバイトです。\n",sizeof(a+b)); return 0; } でコンパイルするとlong doublのところが10バイトになるのですが 私の持っている参考書の{やさしいC}では8バイト表記になっています。 何度も見直していますが間違いがわかりませんでした。 よろしくお願いします
311 名前:310 mailto:sage [2007/12/14(金) 22:40:24 ] 動作環境はWinXP 使用コンパイラはCpadというものです。
312 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 22:41:38 ] 型のサイズは環境によって違う。 long double は 8, 10, 16 バイトの3種類くらい見たことがある。
313 名前:310 mailto:sage [2007/12/14(金) 22:57:54 ] >型のサイズは環境によって違う。 long double は 8, 10, 16 バイトの3種類くらい見たことがある。 環境の違いがあるということも頭に入れて勉強を進めたいと思います。 ありがとうございました。
314 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 23:39:03 ] GCCとVCくらいしか使わん身としては 10バイトってのは珍しいね
315 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 23:52:31 ] コンソールで画面整形というか画面操作というか、正しい呼称はわからないのですが 例えば複数行に渡って 1111111 2222222 3333333 4444444 などと表示した後、それに被せる、ないしは消して同じ位置に出力というのは不可能でしょうか? 自分で調べてみて大量の\r\bを並べてみてもうまくいかなく今は大量の\nでごまかしごまかしやっています
316 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:08:05 ] そんなあなたに ncurses でもwin用ってあったけ?
317 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:12:19 ] 調べてみると 利用可能OS AIX BeOS Cygwin Digital Unix (aka OSF1) FreeBSD GNU/Linux HPUX IRIX OS/2 SCO OpenServer Solaris SunOS あばばば、Cygwinか、いやしかし・・
318 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:14:37 ] PDCursesってのもあるでよ。
319 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:15:09 ] cursesならある。 VCか何かだったかな・・・。 でもそれよか、そのぐらいならエスケープシーケンス有功にした方が早いかもよ。
320 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:21:51 ] エスケープシーケンスっていうと自分のところでしか結局動かないことになっちゃうような・・? PDCurses、なかなかいいページがみつからないのでちょっと試行錯誤してきてみます
321 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:33:06 ] fseek的なのほしかぁ、ありがとう
322 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:43:58 ] enum Foo { a = 0, b = 10, }; int main() { Foo x = Foo(3); } VC71ではこれがコンパイル出来るんだけど、 Foo xが列挙型Fooにない値を取り得るというのは正しい動作?
323 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:46:46 ] 結局windows.hが入ってきましたとさ
324 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 01:29:51 ] >>322 xは11になったろ?
325 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 02:23:22 ] >>324 いや、int(x) == 3だった。
326 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 07:52:18 ] >>314 Intel 系の CPU は浮動小数点を 10 バイトで扱ってるから別に珍しくはない。 Intel 系の環境なら、16 バイトになってても 6 バイトはパディングが入ってるだけ。普通なら。 昔は Turbo C++ とか 10 バイトだったような。 >>315 Win ならコンソール系の関数があるのは知っている。 使った事無いから目的の操作ができるかどうかは知らんが。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpfileio/html/Toppage_Console.asp
327 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:06:17 ] >>322 列挙Fooの値の範囲は 下限が0で上限が15になる。 xがその範囲の値ならFoo(x) はOK。
328 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:17:34 ] DLLでdosコマンドを呼び出すとき、ms-dosの標準ではないアプリなどですが 全くdos画面を出さずに呼び出すにはどうしたらいいですか? エラーが出るとdos画面が出てきてしまいます
329 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:23:54 ] >>328 SetStdHandle
330 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:43:49 ] >>329 サンクス 日本語サイト検索してもヒットが少ないんですけどどうやってその知識を得たんですが? 物知りさんですね
331 名前:デフォルトの名無しさん [2007/12/15(土) 16:57:51 ] ソースの行数とかクラスの数とかを計測したいのですが 何かいいソフトはないでしょうか? Linuxです