- 1 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 06:14:52 ]
- C言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 14 pc11.2ch.net/test/read.cgi/tech/1181735298/ 教えて欲しいのではなく丸投げしたいならこちらへ C/C++の宿題を片付けます 91代目 pc11.2ch.net/test/read.cgi/tech/1182607405/
- 75 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:46:58 ]
- 何か二人で同じことを言おうとしてる気がしてならない。
- 76 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:47:06 ]
- 実行すると-1返って来るよね
読み込んでるってことじゃないの?
- 77 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:48:29 ]
- とりあえずこんな感じだ。
#include <stdio.h> #include <ctype.h> int main() { int ch, b; FILE *fp = fopen("hoge.txt", "r"); if(fp == NULL) { return 1; } do { ch = fgetc(fp); b = feof(fp); printf("%c : %02X / %d\n", ch, ch, b); } while(!b); } T : 54 / 0 h : 68 / 0 i : 69 / 0 s : 73 / 0 : 20 / 0 i : 69 / 0 s : 73 / 0 : 20 / 0 a : 61 / 0 : 20 / 0 p : 70 / 0 e : 65 / 0 n : 6E / 0 ← n が読み込まれて、ファイルポインタは EOF に達しはしているが、まだ読み込んでないためそこが EOF かどうか分からないでいる ? : FFFFFFFF / 1 ← EOF が読み込まれたため、EOF に達した事が判明し、feof が真を返すようになる
- 78 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:50:58 ]
- >>76
-1 が返って来るのは、当然読み込んでるということ。 でも、その後にそれを表示してから、 その後にようやく feof をチェックしてるでしょ。 そっちのプログラムは。 で、そこでループが終了してる。 つまり、-1 が読み込まれた後に feof を実行すると 真を返すようになっている、ということだ。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:01:32 ]
- fgetc()は、エラーとかファイルが終わってるとかで、読んだ文字がない時にEOFを返す。
「EOFを読み込んでいる」のではない。
- 80 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:03:01 ]
- 「0 個のりんごがある」 と 「りんごが 1 個もない」 程度の話だよ、それは。
- 81 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:10:27 ]
- feofはファイルの末端に来ました
fgetcは読んだ文字がないので-1を返しました feofは真を返しました って話?
- 82 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:14:36 ]
- ファイルポインタは初めてファイルの末端に来ました
feofは偽を返しました fgetcはもう読み込める文字がないので-1を返しました feofは真を返しました こうだな。
- 83 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:15:49 ]
- 初めて、は余計か。
ファイルポインタはファイルの末端に移動してきました feofは偽を返しました fgetcはもう読み込める文字がないので -1 を返しました feofは真を返しました こうか?
- 84 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:20:15 ]
- while(fgetc(fp) != EOF)
の方がいいんじゃないの?
- 85 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:26:53 ]
- feof の挙動を調べたいみたいだよ。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:27:59 ]
- 1文字ずつ読んだ場合に加えて、いっぺんに読んだときどうなるかも調べてみては
- 87 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:30:54 ]
- >>84
それは趣旨が違うと思った >feof()はファイルの終わりをどこで判定してるんでしょうか?
- 88 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:04:57 ]
- pthreadでデタッチスレッドを生成し、スレッドが終了した後に
仮想メモリが増えてしまいます。 #include <pthread.h> #define THREAD_COUNT 50 void *thread_func(void *arg); int main() { char command[128]; int i; pthread_t thread[THREAD_COUNT]; sprintf(command, "grep VmSize /proc/%d/status", getpid()); for (i = 0; i < 3; i++) { sleep(1); system(command); } for (i = 0; i < THREAD_COUNT; i++) { pthread_create(&thread[i], NULL, thread_func, &i); pthread_detach(thread[i]); } for (i = 0; i < 10; i++) { sleep(1); system(command); } return 0; }
- 89 名前:88続き mailto:sage [2007/06/26(火) 15:06:07 ]
- void *thread_func(void *arg)
{ sleep(3); } が動かしたソースで、実行結果が↓こんな感じです。 VmSize: 1392 kB VmSize: 1392 kB VmSize: 1392 kB VmSize: 410996 kB VmSize: 410996 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB VmSize: 42356 kB
- 90 名前:88続き mailto:sage [2007/06/26(火) 15:10:54 ]
- 色々調べたところ
410996kBは大体1392+8192kB×50(スレッド数) 42356kBは大体1392+8192kB×5 ぐらいになっているようでした。 8192kBはスタックサイズから来ているようで、スタックサイズを 変更してみたら仮想メモリサイズは変わりましたが、数式的には 上記と同じでした。 また、スレッド数を変えると410996kBのところがスレッド数に 応じた数に変わるのですが、最終的に落ち着く42356kBは 変わりませんでした。 増え続けることはないのでメモリリークとは違うと思うのですが 気にすることはないでしょうか。×5がどこから来ているのかとか どうも気になってしまって・・・ 何か分かりましたら教えてください。
- 91 名前:88続き mailto:sage [2007/06/26(火) 15:11:47 ]
- すいません。ちなみに開発環境はRedHat 9.0、gcc 3.2.2です。
- 92 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:36:15 ]
- 時間をずらして detach していった場合に
42356kB で止まるのだとしたら、 内部でいくつかの領域を確保したままにしてるのかも? 次にまた使うときのためにとか。 MacOSX 10.4.10 gcc 4.0.1 だと、 スレッド1つ分のサイズが残るみたいだ。
- 93 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:36:17 ]
- >>91
仮想メモリサイズの制限を越えたための拡張とかは?
- 94 名前:88続き mailto:sage [2007/06/26(火) 15:49:52 ]
- >>92
色々観察してみると、同時に実行されるスレッド数が1つの場合、 1392kB+8192kB×1くらいになって、スレッドが終了しても 減りませんが、何度スレッドを起動してもこれ以上増えることは ありません。 同時に実行されるスレッド数が5までの場合もこの傾向は同じ。 6を超えるとスレッド実行中の仮想メモリは増えるけど、スレッドが 終了すると5スレッド分の仮想メモリ量までは戻る、という 感じです。 5スレッド分は次回使いまわすために確保するようになってる んでしょうかね。 >>93 ulimit -a で見たら、仮想メモリはunlimitedに設定されて いました。
- 95 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:41:18 ]
- この脆弱性は文字列長の確認を適切に行わない strcpy()の呼び出しが原因
headlines.yahoo.co.jp/hl?a=20070626-00000024-inet-inet
- 96 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:50:55 ]
- >>95
あらら。
- 97 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:29:45 ]
- strcpyなんて使うなよ・・・
- 98 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:32:39 ]
- あっ、やっぱ問題があった、だから 使うなよ って後から言うのは卑怯。
さも知っていたかのようなことをいうやつに限って、そいつ自身が ありきたりのタブーをやらかしていることがある。
- 99 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:34:17 ]
- いやいやせめてstrncpy使うだろ
昔から問題は指摘されてたんだしさ
- 100 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:39:42 ]
- 単に文字列の整形ならsprintf()の方がいいと思う
- 101 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:10:14 ]
- ブラックジャック先生なら整形に失敗しないYO!
- 102 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:57:33 ]
- おいっ、おまいら、はよ1進数について議論せいや?どんな推論が出るかにゃ〜〜 ♥
- 103 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:11:34 ]
- wktk
- 104 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:12:03 ]
- 実質0しか表現できないっしょ
数え始めた瞬間に桁上がりの無限ループ
- 105 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 04:07:08 ]
- >>104 それ、問題提起した俺が最初に提唱したぞな。それじゃ詰まらないからぁ
ここであらぬ妄想をぶっこく香具師らに推論させたいのよ ♠
- 106 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 04:14:33 ]
- おまいの提唱なんぞ知らんがな
>>102見てぱっと思ったから書いただけじゃ
- 107 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 04:15:34 ]
- >>106
pc11.2ch.net/test/read.cgi/tech/1181735298/966
- 108 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 08:26:21 ]
- Wikipediaに答があることをいつまでぐだぐだと……
- 109 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 08:29:36 ]
- それ以前にスレ違い。
- 110 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 09:41:24 ]
- 気を使うのは外からの入力に対してであって
自分で作って自分で使うバッファは好きなの使えばいいと思う
- 111 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:00:38 ]
- >>98
>さも知っていたかのようなことをいう 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 >>110 勿論。
- 112 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:12:48 ]
- >>111
> 君が無知だっただけ。 ???>>98のどこをどう読んだら無知になるんだろうか?
- 113 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:22:34 ]
- >>108
ja.wikipedia.org/wiki/%E4%B8%80%E9%80%B2%E8%A8%98%E6%95%B0%E6%B3%95
- 114 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:52:54 ]
- >>98 なんて恥ずかしいセリフを言える時点で頭おかしい。
- 115 名前:デフォルトの名無しさん [2007/06/27(水) 11:00:28 ]
- いや、恥ずかしいのは無知だとかありえない勘違いをしたこいつ↓
111 名前:デフォルトの名無しさん 投稿日:2007/06/27(水) 10:00:38 >>98 >さも知っていたかのようなことをいう 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。 知っててもおかしくはない…というより寧ろ、技術者としては知ってて当然。 君が無知だっただけ。
- 116 名前:デフォルトの名無しさん [2007/06/27(水) 11:02:10 ]
- 技術者としては知ってて当然。 技術者としては知ってて当然。 技術者としては知ってて当然。
技術者としては知ってて当然。 技術者としては知ってて当然。 技術者としては知ってて当然。 技術者としては知ってて当然。 技術者としては知ってて当然。 技術者としては知ってて当然。 strcpyの問題点を知っているだけで技術者気取りになれる新米プログラマに失笑です ><; ちなみに、そんなこと俺も当然知ってたけど、なんで俺が無知になるわけ?w Lhacaにそれが使われていたなんて、俺は知らなかったけど、strcpyくらい当然知ってましたよ ( ^ー^)b
- 117 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:03:56 ]
- キチガイはすぐ暴れるから困る。
- 118 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:04:24 ]
- 111 名前:デフォルトの名無しさん 投稿日:2007/06/27(水) 10:00:38
>>110 勿論。 ↑おいおい、すでに問題としてあげられたのに、何知ったかぶっこいて同意してんの?(苦笑) >>111 ←こいつ最高に知ったかのアホだな。恥ずかしい。プログラマなんてやめた方が良いぞ? 人生の大半を無駄にして終わるぞ?
- 119 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:17:59 ]
- 勘違い野郎こそ知ったかぶるから困る。何これ?痛すぎ、必死すぎ
>>97 = >>99 = >>111 < こういう奴が三流プログラマになって世にあらぬ 欠陥品を流通させちゃうんだよね。で、後でアップデートパッチでサポート。 サポートしてんだからちゃんと仕事してますよって間違ったアピールをして ユーザが離れていって廃れるソフトウェア会社勤務乙。
- 120 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:35:03 ]
- >>119
>痛すぎ、必死すぎ
- 121 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:50:47 ]
- URLエンコードってどうやるんですか?
- 122 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:10:24 ]
- C勉強したいと先輩に言ったらC♯勉強しろと言われたんですが、
CとC++とC#ってどんな違いがあるんでしょうか?
- 123 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:28:23 ]
- なんでその時に先輩に直接聞かなかったの?
- 124 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:29:22 ]
- >>121
仕様を聞いてるのかコーディングを聞いてるのか
- 125 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:37:21 ]
- コーディングです、入力した文字をGoogleで検索させたいのですが
- 126 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:41:57 ]
- エンコードの必要な文字コードかどうか判定して、
必要ならエンコードすればいい。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:47:55 ]
- >>125
まずUTF-8に変換して、1バイトずつ見て非ASCIIを変換。
- 128 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:59:30 ]
- 仕様はわかってるらしいから、そういう説明じゃ足りないんじゃないのかな
数値を16進文字列にするやりかたがわからないとかじゃないの?
- 129 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:13:40 ]
- unsigned char にキャストして sprintf で %%%02X すりゃいいと思うけど、
sprintf を使う場合はバッファオーバーフローに注意だな。 別にこの程度なら自前で変換してもいいんだけどね。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:32:11 ]
- >>126-129
ありがとうございます、>>128さんの言うとおりでした >>129さんを参考にしてやってみます
- 131 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:47:25 ]
- 質問です。
C言語って色々命令作れる前に、最初からhファイルを読み込んで使える、 いわばインストール時に標準搭載されている命令ってあるじゃないですか。studio.hのprintfやmath.hのsqrtとか ああいう命令を分かりやすくどんな用法で使えばいいのかが全て網羅してある 本またはサイトはありますか?
- 132 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:49:28 ]
- >>131
標準ライブラリ関数でぐぐれ
- 133 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:53:42 ]
- >>131
JIS
- 134 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 15:15:53 ]
- >>131
命令て。 まず入門書くらい買え。
- 135 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 15:16:24 ]
- ああ、「本または」って書いてあるね。すまんすまん。
じゃ、「作ってわか(ry
- 136 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 17:01:07 ]
- >>132-135
ありがとうございます。参考になりました
- 137 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:05:46 ]
- 文字列の数字を消したいプログラム(例えばAB1C9をABC)をつくりたいんですけど
下のソースではうまく消えません。もしよければどのようにすればいいか指導お願いします。 #include <stdio.h> void kesi(char *str){ char c; while(*str!='\0') { c=*str; if(c<'0'||c>'9'){ //数字でないならば *str=c; } str++; } } int main(void){ char str[100]; scanf("%s",str); kesi(str); printf("%s",str); return 0; }
- 138 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:12:34 ]
- 消した分だけ後ろの文字列を前に詰めないといけない。
void kesi(char *str) { char *to = str; while (*str != '\0') { char c =*str; if (!isdigit(c)) { *to = c; to++; } str++; } *to = '\0'; }
- 139 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:23:48 ]
- 138さん返信ありがとうございます。 char *toとしてますが、
またポインタ宣言しなければ、ダメなんでしょうか?? あと初心者なのでisdigitとかまだよくわからないです…。もしよければアドバイスおねがいします
- 140 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:27:42 ]
- 宣言しなきゃコンパイルできないし、isdigitはググれば山ほど出てくる
- 141 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:30:57 ]
- 137のソースではただのchar c; としてポインタで宣言しないでも
コンパイルは通ったんですけど…なぜポインタを使うのかよくわからなくて…。
- 142 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:32:55 ]
- 138では、詰める前の文字を指すのにstrを使い、
詰めた後の文字を指すのにtoを使っている。
- 143 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:39:59 ]
- ポインタを使わないと、どこに文字をいれていいかわからないから
- 144 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:42:04 ]
- >>142さん、わかりやすかったです!ポインタの理由が理解できました!
- 145 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:15:37 ]
- >>98
でも有名な話ですよね。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:02:40 ]
- キューのプログラムで
#define QUEUE 5 static int i = 0; i = (i+1)%QUEUE; で次の添字が得られる とか書いてあるんですが、よくわかりません。 常にiは0である気がするんですが、どこが間違っています?
- 147 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:13:33 ]
- (0+1) % 5 == 1
(1+1) % 5 == 2 (2+1) % 5 == 3 (3+1) % 5 == 4 (4+1) % 5 == 0 (0+1) % 5 == 1
- 148 名前:デフォルトの名無しさん [2007/06/28(木) 00:16:59 ]
- 初期化とキーボード入力以外で文字列を一回で代入する場合はstrcat()しかないですよね?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:21:51 ]
- そんなことないよ
- 150 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:22:37 ]
- >>147
ありがとうございます。 ですがもう少し。 a%bってあったら「aをbで割った余り」ですよね? だとすると、 (0+1)%5 = 1%5 = 0? ではないのですか?
- 151 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:23:13 ]
- >>149
何がありますか? 教えてください
- 152 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:23:30 ]
- って書いたらわかりました。
スレ汚しごめんなさい。
- 153 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:23:51 ]
- 1÷5
1は5で割り切れないので終了。余り 1
- 154 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:24:31 ]
- strcpyとか
- 155 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:27:32 ]
- >>151
strncat,strcpy,ctrncpy,sprintf,sscanf ざっと思いつくのでこの程度。 あと、可変個引数使うときにある、printfのやつ。 あんま使ったこと無いから忘れたけど、vsprintfだっけ?
- 156 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:28:03 ]
- >>152
どちらさまですか?
- 157 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:28:28 ]
- >>150
おぬしは間違いなくstaticについて理解していない。 なぜstaticが付いているのかを考えるのじゃ
- 158 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:02:20 ]
- 質問です。
BASICのgotoみたいな命令はないのでしょうか?
- 159 名前:デフォルトの名無しさん [2007/06/28(木) 01:02:33 ]
- Cで書いてコンパイルしたファイルを人に送ってもその人は実行できないんですか?
というかできなかったのです。一瞬だけ実行されてすぐ消えてしまいます。 どうすればいいかわかりますか?
- 160 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:05:29 ]
- >>158
gotoというそのまんまの命令がある loop: printf("test"); goto loop; みたいに使う >>159 コマンドプロンプト経由で使えばおk
- 161 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:06:30 ]
- あ、ちなみにif文で条件を満たしていなかったらmainの一番上まで戻るというのがやりたいのですが・・・・
- 162 名前:デフォルトの名無しさん [2007/06/28(木) 01:10:52 ]
- >>160
そのファイル名のみを相手のコマンドプロントでコマンドさせるってことですか?
- 163 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:12:28 ]
- 構造体とポインタはどちらのほうが理解するのが難しい?
- 164 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:13:18 ]
- >>161
int main(void){ start: 〜いろいろな処理〜 if(条件を満たしていない) goto start; 多分普通の人であれば int main(void){ do{ 〜いろいろな処理〜 }while(条件を満たしていない);
- 165 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:13:31 ]
- おつむのレベルによる。
- 166 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:14:04 ]
- >>162
渡したファイルはexe? コマンドプロントで、exeのあるディレクトリに移動して実行すればオケ。
- 167 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:15:06 ]
- >>163
一般的にはポインタが難しいと言われる。
- 168 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:16:06 ]
- >>162
1.コマンドプロンプトを起動してもらう 2.コマンドプロンプトにexeファイルをドラッグアンドドロップしてもらう 3.Enterキーを押してもらう これが一番手軽だと思う
- 169 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:17:32 ]
- >>167
ポインタって何に便利なの?
- 170 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:18:24 ]
- 何に便利とか言い出すから一向に理解できないんだろ。
- 171 名前:デフォルトの名無しさん [2007/06/28(木) 01:19:15 ]
- >>166
>>168 ありがとうございました
- 172 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:20:43 ]
- >>169
必要にならないと分かりにくいと思う
- 173 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:24:36 ]
- >>169
Nバイトの構造体配列をソートして並び替えることを考える。 このとき、Nバイトのコピーが頻繁に発生することになる。 構造体に対するポインタの配列として保存していた場合、ポインタのソートで済むことになる。 例えばポインタが4バイト、構造体が100バイト超とかで配列が1000超とかだとすれば どちらが効率的かはわかるよね?
- 174 名前:デフォルトの名無しさん [2007/06/28(木) 01:24:45 ]
- Cpad for Borland...ってやつで書いてるんですけどexeファイルがありません。
どうすればいいですか? 171と同一人物です
- 175 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:29:33 ]
- >>170
お前がその便利さを知らない、説明できないだけだろ?えせプログラマは こんなところで質問者をたぶらかしてないで、へちょいプログラマで満足してろよ?
|

|