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


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

C言語なら俺に聞け(入門篇) Part 10



1 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:45:25 ]
C言語の入門者向け解説スレです。
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 9
pc11.2ch.net/test/read.cgi/tech/1173284217/

過去スレ
Part 1 pc8.2ch.net/test/read.cgi/tech/1146700389/
Part 2 pc8.2ch.net/test/read.cgi/tech/1153818463/
Part 3 pc8.2ch.net/test/read.cgi/tech/1160682950/
Part 4 pc8.2ch.net/test/read.cgi/tech/1162999861/
Part 5 pc8.2ch.net/test/read.cgi/tech/1165022193/
Part 6 pc10.2ch.net/test/read.cgi/tech/1167325490/
Part 7 pc10.2ch.net/test/read.cgi/tech/1170064980/
Part 8 pc11.2ch.net/test/read.cgi/tech/1171946674/

関連スレ
C/C++の宿題を片付けます 84代目
pc11.2ch.net/test/read.cgi/tech/1172981618/
くだすれC言語(初心者用) Part.2
pc11.2ch.net/test/read.cgi/tech/1172099763/
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131
pc11.2ch.net/test/read.cgi/tech/1170338926/
【初心者歓迎】C/C++室 Ver.35【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1171888583/

【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html

552 名前:デフォルトの名無しさん [2007/04/07(土) 19:55:09 ]
4って書くよりsizeof(int)って書いた方が分かりやすいからだよw

?intは2バイトじゃないのですか???



553 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:59:47 ]
>>552
なんで2バイトだと思ってるの?

554 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:00:36 ]
釣りだろうけどマジレスするとintサイズは環境依存、一般的には
8bit, 16bit cpu では2の
32bit cpuでは4
64bit cpuでは4, 8 に分かれる。


555 名前:デフォルトの名無しさん [2007/04/07(土) 20:03:30 ]
コンパイラが決めてるってことですか?
どーやって決めてるんですかね?

556 名前:デフォルトの名無しさん [2007/04/07(土) 20:06:58 ]
釣りじゃないです。
勉強し始めて、一ヶ月。
わからないことばかりです。
本には、intは2バイトって書かれてるから。

環境依存?

むつかしい。前途多難です。

557 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:08:58 ]
>>556
すごい古い本つかってないか?

558 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:12:22 ]
Javaだと身動き取れないくらいカッチリとサイズが決められてるけど、
Cのintは最低2バイトでshort以上long以下のCPUに都合の良い(が扱いや
すい)幅。以上/以下とあるから、どちらかと同じであってもよい。


559 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:15:49 ]
C99だと「最低でも32bit以上で、一番速い型」とか指定できるからいいな。

560 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:16:10 ]
intが最低2バイトと書いてしまったが、ちゃんと書くと、
1. short: 最低2バイト、longよりは小
2. long: 最低4バイト、shortよりは大
3. short <= int <= long

1.2.からshortとlongの幅が同じになることはないので、3.の等号は
成り立つとしても片方しか成り立たない。




561 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:16:22 ]
longとintでサイズ同じなら二つも作って紛らわしくさせんじゃねーよ!
とか憤ってた学びたての頃の俺をDQNといわないで下さい

562 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:17:20 ]
>>555
実行環境のCPUその他アーキテクチャにとって都合の良い大きさに決まる

563 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:19:24 ]
CPUが64ビットだとややこしいな。
int=64ビット long=64ビット
int=32ビット long=64ビット
int=32ビット long=32ビット long long=64ビット


564 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:19:31 ]
>>558のカッコのなかの「が」は
CPUに都合がよい、しかし扱いやすい
じゃなくて(逆接になる意味がない)、
CPUに都合がよい(CPUが扱いやすい)
の意です……


565 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:20:39 ]
>>560
それ間違ってないか?
手元の本にはそんなことは書いてないが。


566 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:27:01 ]
shortはshort int、longはlong intの略記であり、
無印intはshort intかlong intのどちらか処理系に都合がよいほうと同じ、
だっけ?


567 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:30:01 ]
手元の本って何だよ。JISのプリントアウトか?

まぁ、もちろん規格にも>>560のような最低hogeバイトとは書いていないけどな。

568 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:38:20 ]
>>560
> 1.2.からshortとlongの幅が同じになることはないので、3.の等号は
> 成り立つとしても片方しか成り立たない。

実際に sizeof(short) == sizeof(int) == siezeof(long) == 4 な処理系は実在する。


569 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:39:54 ]
>>566
intがshort intとlong intのどちらかと
同じ大きさである必要があると定められてはいなかったと思う。

>>567
しかし<limits.h>の定数は少なくともxxx以上・以下でないといけないという規定があり、
そこから必然的にshortとintが16ビット、longが32ビットなければならないということが導かれる。
1バイトが8ビットである環境なら当然2バイトと4バイトになる。
「3.の等号は成り立つとしても片方しか成り立たない」は違うような気がするけど。


570 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:42:07 ]
知っているつもりのことでも、きちんと知らないことってあるんだなあ。




571 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:42:24 ]
>>567
新ANSI C言語辞典って本だけど。

572 名前:デフォルトの名無しさん [2007/04/07(土) 20:52:41 ]
すごい細かいんですね。
大丈夫かな??
無理かな??不安になってきた。

573 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:54:37 ]
「どこでも同じとは限らない」ということだけ知ってればOK。


574 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:07:34 ]
つまり
sizeof(short)=2
sizeof(int)=3
sizeof(long)=4
な処理系があればいいんだ、過去の俺を納得させるだけの為に

575 名前:デフォルトの名無しさん [2007/04/07(土) 21:13:02 ]
だからどーやってCPUがバイト割り当ててんだよ
その仕組みを教えればいいだろ

576 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:14:09 ]
説明しきれないんだろ?
少なくとも俺はわからん

577 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:16:23 ]
CPU < short形が2バイトだの、charが8ビットだのってのは、俺が決めてるわけじゃねーよ。

578 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:17:21 ]
誰がきめてんだよ

579 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:19:28 ]
設計者じゃねーの?

580 名前:デフォルトの名無しさん [2007/04/07(土) 21:20:05 ]
何になるの??

こんな質問方法では、だめか・・。




581 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:21:16 ]
設計者なわけないだろ
あたらしいCPUがでたら
また設計者があたらしく定義しなおすのか?

582 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:21:50 ]
>>575
CPUを設計する人が「これは32ビットCPUだ(1バイト=8ビット)」と言えば、
コンパイラを設計する人はそのCPUで動くコードを出力するコンパイラはintを4バイトにするという具合。

583 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:24:49 ]
コンパイラを設計するひとは
CPUが新しくできるたびに設計しなおさないといけないってこと?

584 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:25:31 ]
CPUのレジスタサイズと、コンパイラの整数型は必ずしも一致してないんだな。
32bitCPUでも、int8のコンパイラがあったり、int64のコンパイラがあったり。

585 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:25:33 ]
すんげぇめんどくさいんですね
出来たばっかりのCPUだとプログラミングできないんじゃん

586 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:26:58 ]
毎度新しく決める必要はない。
たとえば80386から続くIntelの32ビットCPUシリーズはIA-32と一括りにされるという具合。

587 名前:デフォルトの名無しさん [2007/04/07(土) 21:27:27 ]
なるほど

588 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:33:17 ]
もちろんCPUが全てではない。

x86-64では、WindowsはMSがWindows APIをLLP64にすると言い、
VC++もLLP64(long longとポインタが64ビット、intとlongは32ビット)になった。
しかしUnix系では一般的にLP64(longとポインタが64ビット)が採用されていると言う具合。

589 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:14:09 ]
入門者には難しい >_<;

590 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:18:22 ]
>>574
そんな環境はないだろうけど、
short = 2
int = 4
long = 8
なら、普通にあるだろ。



591 名前:デフォルトの名無しさん [2007/04/07(土) 23:12:07 ]
char K1[]="abcde";

は、

sizeof は、何になるのですか?? 6??なぜ??



592 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 23:14:31 ]
>>591
配列はその全体のサイズになるから。

文字列の場合は最後に0がつくから、みかけのサイズより+1の大きさになる。

593 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 23:14:32 ]
規格でそう決まっているから

594 名前:デフォルトの名無しさん [2007/04/07(土) 23:21:50 ]
591
\0 じゃなくてですか?


595 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 23:23:54 ]
NULLぽ

596 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 23:30:20 ]
>>595

ガッ

597 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 23:51:36 ]
>>591
暇だったんで俺が決めといたんだ

598 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:09:58 ]
>>594
'¥0'なら

599 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:32:27 ]
配列の平均値を求める関数aveを作ってみたんですが
これで表示が1としか表示されないんだけどなんでですかね・・・

#include <stdio.h>
void ave(int array[]);
int main(void){
int a[5]={1,2,3,4,5},i;
ave(a);
return 0;
}
void ave(int array[]){
int sum=0,i,m;
m=sizeof(array)/sizeof(int);
for(i=0;i<m;i++){
sum+=array[i];
}
printf("平均=%d\n",sum/m);
}

調べてみたら、ave関数のm=sizeof(array)/sizeof(int)
がおかしくて、mに1が入ってみるみたいなんです。
配列aの要素数は5だから、mに5を入れたいんだけどどうすりゃいいんですかね?

600 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:39:08 ]
>>599
Cでは配列を関数に渡すことはできない。素直に個数も渡すしかない。
cf.
void ave(int * array, int nOfArray) {
...;
}



601 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:42:02 ]
>>599
void ave(int array[]){
これはダメだな
int *array と同じでポインタのサイズしか渡さない
int *array のポインタサイズ(4バイト) / int のサイズ(4バイト)=1

void ave(int array[],int size)
{
int sum=0,i,m;
m=size/sizeof(int);
・・・・・
}
int main()
{
・・・・
ave(a,sizeof(a));
とするとか

602 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:13:19 ]
you! c++でいっChinaよ

603 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:21:58 ]
C言語では、関数に配列を渡して、渡された配列の要素数を調べる関数ってのは作れないのか。。。
main関数で要素数を入れなきゃダメなんですねどうもありがとうでした

604 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:38:01 ]
出来ん事も無いけど
STLとか使ったら一瞬で出来ることをなんで悩まないといけないのか
って鬱になるから普通はしない

605 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:39:41 ]
課題でeggx(C言語)てので正五角形を作って来いって言われたのですが途方にくれてます。
多角形を描く関数(fillpoly)もあるようですが、頂点の座標がわからないと描けないようで困っています。

606 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:54:27 ]
頂点の座標なら
円の式と、直線の式の交点を求めるとか
sin、cosを使うとか

607 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:57:04 ]
プログラムと何の関係があるのか分からんが、
正五角形の頂点なら、 k=0, 1, 2, 3, 4 として

x = cos(2π/5 * k)
y = sin(2π/5 * k)

で求まるだろう



608 名前:デフォルトの名無しさん [2007/04/08(日) 08:32:47 ]
Cのライブラリ全てが説明されている本って無いですか?
言われて分かる人なら X680x0 libc みたいな本を探している、と言えば早いですかね。

使用する関数名が分かっていれば、man して使い方を知る事は出来るものの、
どんな関数があるのかが分からずで困ってます。

対象は Linux / FreeBSD で、ソツ無く使える本を。

609 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 09:10:47 ]
man2とかman3のディレクトリをlsしちゃだめなのか?

610 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 09:41:14 ]
標準Cの範囲なら規格書で充分だろ。



611 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 09:46:47 ]
セクション2はCの規格じゃないけどな。


612 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 10:13:48 ]
>>604
興味本位でやってみたいからヒント頼む

613 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:32:32 ]
>>612
C++をやれ

614 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 12:02:01 ]
以後、配列を扱う場合はかならず構造体の単一メンバにすること。

615 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 12:02:46 ]
オーライリーのC Pocket Referenceに種類ごとに標準関数の説明が載ってるよ

616 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 12:46:15 ]
>>608 は、Unixのシステムコールも含んで、載ってるやつがほしいんじゃないか?

617 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 12:58:11 ]
>>608
あんまりない無い。
www.linux.or.jp/JM/index.html 結局これが一番いいんじゃないかと思う。

入門書としては、UNIX-Cプログラミングを唱っているもので、プロセス・スレッド、
mmap、socletなんかを扱っているものもあるが、中途半端なものばかり。
最終的にはmanみろってことなのかもしれない。

UNIX共通に通用するベース技術・仕様の本といったら、POSIXの規格書とか
解説書あたりがお望みのものに近いか?

BSD系はソースが公開されているんだからそれを読んでコミニュティで
解決しろというスタンスが濃い。
Linuxはアプリケーションソフトばかりがとりだたされる傾向にあって、
コアなライブラリ解説なんて皆無に等しい。
オライリーのカーネル本とか、デバドラ本くらいか。

618 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 13:11:02 ]
「ふつうのLinuxプログラミング」あたりでファイルシステムとかストリーム
とかシグナルとか、考え方から理解しておいて、あとはmanなんだろうなぁ。


619 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:09:16 ]
>>613
Cではできないのですか?

620 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:15:22 ]
>>619
STL は C++ 標準ライブラリ



621 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:55:09 ]
スティーヴンス本も知らんのか君達は

622 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 15:17:13 ]
(´・ω・`)知らんがな

623 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 15:26:18 ]
C言語500の極意(うろおぼえ)みたいな本で十分だろ。

624 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 18:35:41 ]
608です。
皆様からのレスは本屋で携帯から読めて大変参考になりました。

>>615
>オーライリーのC Pocket Referenceに種類ごとに標準関数の説明が載ってるよ

C Desktop Reference なる本は見掛けたのですが、これの事?
内容は本の厚さに比例してそこそこと言う感じでした。
初めてCを使う人には良いかも。

>>623
>C言語500の極意(うろおぼえ)みたいな本で十分だろ。

これを見掛けた時は「これか!?」と思ったのですが、内容が・・・
参考になる点も多かったのですが、今求めている物とは大きくずれてました。


いざ探してみると満足の行く物は確かに無いですね。
みんなどうやってプログラミングしているんだろう?と不思議になってきました。
今にして思うと X680x0 libc は偉業と感じます。
これには標準的な関数ならバッチリ載っているので、残りは
>>617 を参考にするのがベターの様です。

本屋で探した感じでは C言語大辞典 がわりとイイ線行ってたので
今度は神保町あたりでじっくり探してみたいと思います。

レスしてくれた方々、有難う御座いました。

625 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 21:36:11 ]
配列って、絶対アドレス順にしかできないの?
a[0]とa[1]はメモリ上となりあわせで
a[0]アドレスが100ならa[1]は99といった感じで使いづらい・・・
malloc関数を使ったら、a[0]〜a[それまで]のものが全部初期化されちゃって使いづらい。
今までの配列の要素を変化させずに動的に配列の要素数を変化させることはできないですか?

scanf関数を使うたびに配列の要素をひとつずつ増加させるのを作りたいんだけど。
int ct=0,m,*data;
data=(int*)malloc(100*sizeof(int));

while(1){
scanf("%d",&m);
if(m==0)break;
data[ct]=m;
ct++;
}

たとえばこれだと100個以上の入力されるとエラー起こすし、
5個しか入力しないと残りの95個もったいない
どうすりゃいいですかね?

626 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 21:39:05 ]
そのための線形リストだ。

627 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 21:42:26 ]
>>625
・realloc
・std::vector (C++ 限定)

628 名前:デフォルトの名無しさん [2007/04/08(日) 22:09:43 ]
ビット演算の意味がわからない。

629 名前:デフォルトの名無しさん [2007/04/08(日) 22:11:34 ]
#include<stdio.h>
void main(void){
int x,y;
scanf("%d,%d",&x,&y);
printf("%d",x/y);
}

5行目:0で割っています と出るんですが、何故なんでしょうか?
x,yには0以外の数字を入力しています

630 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:15:11 ]
"%d,%d"のフォーマット通りに入力してる?



631 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:15:15 ]
>>620
>>603
>C言語では、関数に配列を渡して、渡された配列の要素数を調べる関数ってのは作れないのか。。。
に対して
>>604
>出来ん事も無いけど
って答えているので、STLってかテンプレート使わずにC言語の機能だけでできるのかなぁと思って聞いてみたわけです。

なんか粘着みたいですいません。

632 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:19:44 ]
>>624
いや"C Pocket Reference"
もれは英語版を使ってるけど一応ISBNは
0-596-00436-2

633 名前:629 [2007/04/08(日) 22:22:42 ]
>>630
すいません、フォーマット通りとはどういうことでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:26:52 ]
>>630じゃないが
たとえば
$ 4,2
にように入力してるかってこと

635 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:27:11 ]
10,2
とか

636 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:29:00 ]
123,456もだな

637 名前:629 [2007/04/08(日) 22:29:46 ]
>>634-635
やってませんでした。今やったらできました。ありがとうございます!

638 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 22:36:36 ]
>>636
いやwwwそれいったらintの範囲のその範囲乗までレスがつくぞ

639 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 07:17:09 ]
scanfの戻り値みろよ…

640 名前:デフォルトの名無しさん [2007/04/09(月) 10:18:00 ]
すいません、どなたかわかる方がいれば回答お願いします
C言語のコマンドラインから引数を渡すプログラムで
ちゃんと動いてくれませんorz
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[]){

FILE*fin,*fout;
char ss[256];
if(argc!=3){
printf("引数の数が違います\n");
exit(1);
}
if((fin=fopen(argv[1],"r"))==NULL)
{
printf("入力ファイルをオープンできません\n");
exit(1);
}
if((fout=fopen(argv[2],"w"))==NULL){
printf("入力ファイルをオープンできません\n");
exit(1);
}
while (fgets(ss,256,fin) !=NULL){
fputs(ss,fout);
}
fclose(fin);
fclose(fout);
return 0;


}



641 名前:デフォルトの名無しさん [2007/04/09(月) 10:21:03 ]
これをコマンドプロンプトやbcpadなどで実行しても最初の引数の数が違います、
としか表示されなくて・・・
色々調べて試行錯誤したのですが結局一晩かけてもわかりませんっでした
こんな自分は問題解決能力がないからPGむいてないのでしょうか(´Д`;)

642 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 10:24:50 ]
>>641
俺の環境ではちゃんと動いたけど?

643 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 10:25:15 ]
>>641
問題無いように見えるけど・・・

644 名前:もしかして、コマンドライン引き数を知らないと言う落ち? mailto:sage [2007/04/09(月) 10:38:51 ]
>>640
>これをコマンドプロンプトやbcpadなどで実行しても最初の引数の数が違います、
>としか表示されなくて・・・

漏れの環境では、引き数を指定しないで実行したらそうなった。
期待通りの動作じゃないのか?

645 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 10:45:37 ]
学びたての頃一日かけてやっとセミコロンが一つ足りないことに気付いたことがある俺の勝ち

646 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 10:50:17 ]
セミコロンが一つって思うだろうがたかが1日じゃないか
3日悩むよりずっといい
まだまだだな

647 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:00:17 ]
>>640のfinの宣言部で
FILEと*finがくっついて1つの単語になってるように見えるのはオレだけ?

648 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:04:53 ]
俺の三倍とはこやつやりおるわ…
hoge.exe piyo.txt
のようにコマンドプロンプトに入力すればファイルの中身を表示できるはずです。
くらい書いとけばいいのに、不親切なテキスト(かどうか知らんが)だなぁ

649 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:09:22 ]
漏れなんて、ソースファイル末尾の改行がないためにNULLポン消えなくて一週間悩んだぜ。
#コンパイラが生成するアセンブリ出力の改行が足りなくなると言う素敵なバグの所為だったんだけど。

650 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:18:17 ]
>>641
>これをコマンドプロンプトやbcpadなどで実行しても最初の引数の数が違います、
ってことは
printf("引数の数が違います\n");
が実行されて表示されてるってことで
それが実行される条件はプログラムに与えられた引数の数
だからtest.exe a.txt b.txtのようにプログラムに与える引数を変えればいいんじゃない

問題解決能力じゃないと思う
たとえばできるだけ客観的に説明する能力とか不足を補う理解力とか
誰もが通る道だけどな向き不向きなんてすぐにはわからん



651 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:21:31 ]
>>650
お前は日本語で説明する能力を養え

652 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 11:26:54 ]
PGに不向きな奴は1年持たない
1年持てば問題なす






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

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

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