C言語なら俺に聞け(入門篇) Part 52
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/08/17(月) 03:16:31初心者、初級者の方は他の質問スレのほうが良いかもしれません。
教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 130代目
http://pc12.2ch.net/test/read.cgi/tech/1250204272/
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
前スレ
C言語なら俺に聞け(入門篇) Part 51
http://pc12.2ch.net/test/read.cgi/tech/1248445143/
過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
0153デフォルトの名無しさん
2009/08/23(日) 16:00:110154デフォルトの名無しさん
2009/08/23(日) 16:01:16うっせーんだよITドカタw
マ板にいけ。
0155デフォルトの名無しさん
2009/08/23(日) 16:01:58芸能界は覚せい剤など、コネなどステータスかと思ってマネするのと同じだなww
0156デフォルトの名無しさん
2009/08/23(日) 16:04:46状態遷移図やシーケンス図なども駆使して多角的に表現できなくてはならない。
0157デフォルトの名無しさん
2009/08/23(日) 16:12:48wの数を数えると
そいつの程度の低さが分かるって言うけど本当なんだね。
0158デフォルトの名無しさん
2009/08/23(日) 16:17:460159デフォルトの名無しさん
2009/08/23(日) 16:24:09スレ立てて別のところでやれ
0160デフォルトの名無しさん
2009/08/23(日) 17:38:46このスレないで収めてくれ
0161デフォルトの名無しさん
2009/08/23(日) 17:42:420162デフォルトの名無しさん
2009/08/23(日) 17:44:160163デフォルトの名無しさん
2009/08/23(日) 17:45:050164デフォルトの名無しさん
2009/08/23(日) 18:12:14K&Rのライブラリの説明はあまりにも簡素すぎて今の私には使いこなせません。
0165デフォルトの名無しさん
2009/08/23(日) 18:18:130166デフォルトの名無しさん
2009/08/23(日) 18:37:56MS-Cの頃は、それなりの書籍があって、MS-C 独自関数も含めて標準ライブラリの使い方を書いた本があったんですけどね。
今はどうかな?
0167デフォルトの名無しさん
2009/08/23(日) 19:34:28システムコールレベルのコード読んでると標準ライブラリ見てるだけでは気付かなかったことが色々分かってくる。
Javaから始めた人がCを勉強して色々気付くのと同じ感覚。
0168デフォルトの名無しさん
2009/08/23(日) 21:05:260169デフォルトの名無しさん
2009/08/23(日) 21:20:43昔からそうやって利用者を囲い込む姑息な企業だからな。
0170デフォルトの名無しさん
2009/08/23(日) 21:28:270171デフォルトの名無しさん
2009/08/23(日) 21:38:43ちょっとちがうけど「Cプログラム診断室」は?
人の書いたコードをけなしながら「そういう処理は標準関数をこうつかえよw」みたいな
つっこみがいっぱいあったような記憶が。
今でもネットで見れると思う。
0172デフォルトの名無しさん
2009/08/23(日) 21:55:27「キーボードから整数の入力を受け取って、それを10倍した値を返す関数を作って下さい。」
という問題で下記を作ったのですが、失敗作のようです。
どこがどう間違っているのか解説お願いします。
#include<stdio.h>
int sum(void);
int main(void)
{
sum();
printf("%d",(int)(num * 10));
return 0;
}
int sum(void)
{
printf("整数を入力してください\n");
scanf("%d",&num);
return 0;
}
0173デフォルトの名無しさん
2009/08/23(日) 21:56:32南無
0174デフォルトの名無しさん
2009/08/23(日) 22:02:00#include<stdio.h>
int sum(void);
int main(void)
{
printf("%d\n",sum());
return 0;
}
int sum()
{
int num;
scanf("%d",&num);
return num*10;
}
こう
0175デフォルトの名無しさん
2009/08/23(日) 22:04:000176デフォルトの名無しさん
2009/08/23(日) 22:05:31おまえ、雑記帳ってサイトでネタにされてたよ。
0177デフォルトの名無しさん
2009/08/23(日) 22:11:14でぐぐれかす
0178デフォルトの名無しさん
2009/08/23(日) 22:12:19ありがとうございます!
自分のだと自作関数内の数値がメイン関数に反映されてないっぽいですね。
見比べながら復習しようと思います。参考になりました。
0179デフォルトの名無しさん
2009/08/23(日) 22:13:55POSIXいいぞ。
教科書どおりのfopenとかだけで20年以上飯食えてるからな。
0180デフォルトの名無しさん
2009/08/23(日) 22:28:36僕は意味不明なファイルがどういうものか知りたくて
(たとえばCドライブにあるsetting.iniとかを見て「こいつはこのソフトを動かすのに使われているんだな」って分かるような)
プログラミングを始めました。言語はVB.NETです。
それで、VBの方は簡単なゲームを作れるところまでできてきたのですが、当初の目的の
「ファイルがどういうものかを知る」というのがいまひとつピンときません。
VBだから当たり前なのかもしれないのですが、なぜかC言語なら分かる気がしたのでVisualC++をとりあえずインストールしました。
そこで伺いたいのは、別にCとかC++とか関係なくC系の言語を学べばファイルというものがどういうものなのか理解できるのでしょうか?
本当にあいまいな質問ですみません。
また、職業はプログラマとかではないので将来プログラミングをバリバリ使って働くわけでもないです。
そういう意味で僕の目的を満たすには、C言語を学ぶのはオーバーワークなんでしょうか?
ご回答よろしくお願いします。
018193,174
2009/08/23(日) 22:36:47C言語がいちばん簡単だから安心しろ^^
資料もおおいし。
最初からPythonとかマイナー言語進める奴はバカだな
何かの記事でハッカーはPythonを使うとかバカの一つ覚えてかっこいいと思って使ってる奴が多い。
名前が蛇みたいでかっこいいとか^^;(滝汗)
0182デフォルトの名無しさん
2009/08/23(日) 22:40:09VBでもファイルを読み書きしたり、作ったりと言うようなプログラムは作れるでしょ。
0183デフォルトの名無しさん
2009/08/23(日) 22:41:54setting.iniに関していえば、初期設定情報をファイルとして外に出したと思っていい。
0184デフォルトの名無しさん
2009/08/23(日) 22:42:23救いようのない馬鹿だな。
何調子のってんだ?
0185デフォルトの名無しさん
2009/08/23(日) 22:45:11消えろカス
0186デフォルトの名無しさん
2009/08/23(日) 22:45:32これはいい燃料ですね
とりあえず.NETならXMLという話をどこかできいた
0187デフォルトの名無しさん
2009/08/23(日) 22:46:09018893,174
2009/08/23(日) 22:46:31Pythonをやればハッカーだと思って勉強しちゃったカスですか かっこわらい
018993,174
2009/08/23(日) 22:47:180190デフォルトの名無しさん
2009/08/23(日) 22:47:55ポインタも理解できないお前の方がカスだけど(爆笑)
019193,174
2009/08/23(日) 22:49:260192デフォルトの名無しさん
2009/08/23(日) 22:50:28Pythonで挫折したんですね、わかります。
0193デフォルトの名無しさん
2009/08/23(日) 22:51:170194デフォルトの名無しさん
2009/08/23(日) 22:52:35どうした?
夏休みの宿題が終わらなくて泣いているのかな?w
じゃあてめぇが素晴らしい言語を設計してみろカス
0195デフォルトの名無しさん
2009/08/23(日) 22:53:19無いっていうのを聞いて驚いたんだが、今はそういうのが多いの?
0196デフォルトの名無しさん
2009/08/23(日) 22:53:59ただの一度も完遂したことがないな
0197デフォルトの名無しさん
2009/08/23(日) 22:54:11#include <stdio.h>
#include <string.h>
int main(void)
{
char *p="A";
char *h="B";
char *rp;
int length;
length=p-h;
printf("%d\n",*p);
printf("%d\n",*h);
printf("%d\n",*p-*h);
printf("%d\n",length);
return 0;
}
これで最後のlengthが何故 -4 って出るかがわからない
上の*p-*hはA(64)-B(65)で-1ってわかるけど
length=p-h;これが何故-1なのか不明教えてくれ
0198デオフォルトの名無しさん
2009/08/23(日) 22:54:27どうした?
夏休みの宿題が終わらなくて泣いているのかな?w
じゃあてめぇが素晴らしい言語を設計してみろカス
0199デフォルトの名無しさん
2009/08/23(日) 22:55:02#include <stdio.h>
#include <string.h>
int main(void)
{
char *p="A";
char *h="B";
char *rp;
int length;
length=p-h;
printf("%d\n",*p);
printf("%d\n",*h);
printf("%d\n",*p-*h);
printf("%d\n",length);
return 0;
}
これで最後のlengthが何故 -4 って出るかがわからない
上の*p-*hはA(64)-B(65)で-1ってわかるけど
length=p-h;これが何故-1なのか不明教えてくれ
0200デフォルトの名無しさん
2009/08/23(日) 22:55:25ファイルってのは標準関数でオープンしたりするあれ?
それとも特定の開発現場でSQLを使わなくてアクセスできるあれのこと?
0201デフォルトの名無しさん
2009/08/23(日) 22:56:16もういいそれは見飽きた貼るな
020293,174
2009/08/23(日) 22:57:28くやしいのぅwwwwwww草w
0203デフォルトの名無しさん
2009/08/23(日) 22:59:03標準関数でオープンしたりするアレ。
特定の開発現場は知らん。
0204デフォルトの名無しさん
2009/08/23(日) 22:59:13低能の釣りに低能が釣られる
0205デフォルトの名無しさん
2009/08/23(日) 22:59:52よっぽど高級なことやってたに違いない
アルゴリズマー
0206デフォルトの名無しさん
2009/08/23(日) 23:00:01> C言語がいちばん簡単だから安心しろ^^
簡単なことで躓いている奴が言う台詞じゃねぇ・・・w
0207デフォルトの名無しさん
2009/08/23(日) 23:00:46まあ分業でやることが増えてるからそういう人もいるんじゃないの?
020893,174
2009/08/23(日) 23:01:05おいおい、見苦しいぞ低脳君 かっこわらい
0209デフォルトの名無しさん
2009/08/23(日) 23:02:160210デフォルトの名無しさん
2009/08/23(日) 23:02:47まだ終わらないのか>夏休み
>>93はこれでもみてろ
http://www.b-ch.com/flash/mv_det.php?sq=1&msc=10
0211180
2009/08/23(日) 23:03:47>>182
確かにそうですね。その辺りもやってみます。
>>183
それについてはネットで検索して「なんとなく分かるような分からないような」という感じです。
でも、教えていただきありがとうございます。
>>186
xmlですか。
そういえば以前ちょっとだけやって何に使うんだろうと思ったことはあります。
やっぱりファイルといえども全部を理解しようとするのは無理なのかもしれなかったです。
C言語をやるかどうかはもう少し考えてみたいと思います。
0212デフォルトの名無しさん
2009/08/23(日) 23:04:450213デフォルトの名無しさん
2009/08/23(日) 23:05:130214荻原
2009/08/23(日) 23:07:180215デフォルトの名無しさん
2009/08/23(日) 23:09:37ファイルの識別をしたいのか?もちろんVBでもできるよ。
大抵のファイルにはヘッダやフッダがあるから、バイナリで先頭数バイトを読んでみれ。
ヘッダ一覧は別ファイルでDBにでもしておけばいいだろう。
0216180
2009/08/23(日) 23:18:23VBでもできるんですか!
自分の勉強不足で全く知りませんでした。
それではもう少しVBをやってみたいと思います。
スレ違いの質問に答えて下さりありがとうございました。
0217デフォルトの名無しさん
2009/08/23(日) 23:21:03iniなんかはWindowsAPIに読み書き関数が用意されていて
フォーマットも分かりきっているけど
「俺は■■■みたいに書いて△☆ミのように読みたいんだ!」っつーフォーマットを自分で決めればいい
0218デフォルトの名無しさん
2009/08/24(月) 00:28:13極窓か?識別プログラム自体は楽だろうが、
ファイルのヘッダのデータ収集が一番めんどくさそうだ。
0219デフォルトの名無しさん
2009/08/24(月) 00:34:12gccでコンパイルする時にコンパイラは何を元に関数の実体の場所を探しているのですか?
たとえばJavaであればclasspathというのがありますが、Cにも独自の環境変数が用意されているのでしょうか?
0220デフォルトの名無しさん
2009/08/24(月) 00:35:250221デフォルトの名無しさん
2009/08/24(月) 00:42:31結構色々なソフトがありますが、ファイル数が多いとハッシュを取得するのに結構案時間がかかってしまいます。
なので、咲にファイルサイズを取得してから同一のサイズのファイルだけハッシュの取得、比叡するという事をしたいです。
どうすればいいですか?
0222221
2009/08/24(月) 00:44:370223デフォルトの名無しさん
2009/08/24(月) 00:47:13リンカオプションですべてのファイルの位置をちゃんとぴっちり設定する必要があるのだ。
0224デフォルトの名無しさん
2009/08/24(月) 01:02:410225デフォルトの名無しさん
2009/08/24(月) 01:03:53一応ファイルスコープだ
0226デフォルトの名無しさん
2009/08/24(月) 02:18:360227デフォルトの名無しさん
2009/08/24(月) 17:31:050228デフォルトの名無しさん
2009/08/24(月) 17:53:240229デフォルトの名無しさん
2009/08/24(月) 18:16:41MD5 アルゴリズムそのものは↓
ttp://www.ipa.go.jp/security/rfc/RFC1321JA.html
もっとも早くの"早く" が実行速度を指しているのだったらワカラン
0230デフォルトの名無しさん
2009/08/24(月) 21:04:5452枚のトランプカードから2枚引くプログラム作ってみてコンパイル通ったけどおかしな数値しか出てこないんだ
構造体でマークと数字を別々に保管してるの作ろうとしたら二枚目で同じカード引かないようにするトコで行き詰ってこういう形になった
要するに配列52個用意して一度引いた配列に0代入して同じの引かないように作ったんだが、何か間違ってたんだろうか
int i,j,x,y,z=0;
int pcard[2];
//プレイヤーの引いたカード・今回は二枚なので
char *mark[]={"Diya","Clober","Spade","Heart"};
//数字をマークに変換する為の変数
srand(time(NULL));
//乱数の種をまく
int allcard[52];
x=1;
for(x=1;x<5;x++){
y=x*100;
for(i=0;i<13;i++){
allcard[z]=i+y+1;
z++;
}
}
//52種類のカードを用意
//100の位がマーク
//1〜10の位でカードの数字
for(i=0;i<52;i++){
printf("%d\n",allcard[i]);
}
//確認用
0231デフォルトの名無しさん
2009/08/24(月) 21:05:44printf("まずは一枚目です。");
j=0;
//jは今が何枚目のカードなのか
while(getchar()!='\n'){}
i=rand()%52;
//出した乱数をとりあえず変数に保存しておく
pcard[j]=allcard[i];
allcard[i]=0;
//今回引いたカードにはゼロを入れておく
printf(" %d to %s\n",pcard[i]%100,mark[pcard[j]/100]);
//プレイヤーカードを100で割った余りのを出力
//プレイヤーカードを100で割った数値に対応したマークを表示
j=1;
//プレイヤーカード二枚目
printf("\n二枚目を引いてください。\n");
while(getchar()!='\n'){}
i=rand()%52;
pcard[j]=allcard[i];
while(allcard[i]==0){
i=rand()%52;
pcard[j]=allcard[i];
}
//既に引いたカードならやり直し
allcard[i]=0;
//今回引いたカードにゼロを入れておく
printf(" %d to %s\n",pcard[i]%100,mark[pcard[j]/100]);
0232デフォルトの名無しさん
2009/08/24(月) 21:13:34まずアプローチがちがう
配列 シャッフル
でggrks
0233デフォルトの名無しさん
2009/08/24(月) 21:21:27その本は焼き捨てるか、
窓から投げ捨てると良いよ。
このご時世ならリサイクルもありだな。
0234デフォルトの名無しさん
2009/08/24(月) 21:43:22pcard[i]%100じゃなくて、,pcard[j]%100だろ
0235デフォルトの名無しさん
2009/08/24(月) 21:54:13ありがとうございます。視力が弱いせいでiとjが同じに見えてました
凡ミス・・・確認不足・・・恥ずかし・・・もうちょっと区別の付きやすい変数にしとこ・・・xyz使い回すか
0236デフォルトの名無しさん
2009/08/24(月) 22:02:17allcard[i] = allcard[51-j];
i = rand() % (52 - j);
0237デフォルトの名無しさん
2009/08/24(月) 22:33:012プロセス間(A,B)でメッセージ通信を行っています。
この際に例えばAでBからのメッセージ1を受信後、さらにBよりメッセージ2を受信しようとすると、
セグメンテーションエラーがでます。
GDBを利用してデバッグしましたが、具体的にエラーが出ている行数や関数名等が表示されず、
大変困っています。
0238デフォルトの名無しさん
2009/08/24(月) 22:35:37謝罪と賠償ニダ
0239デフォルトの名無しさん
2009/08/24(月) 22:39:41とりあえずソースを見せろ
0240デフォルトの名無しさん
2009/08/24(月) 23:47:53独習Cってそんなにまずいの?w
2回も読んだよ
0241デフォルトの名無しさん
2009/08/25(火) 00:00:17ともかく平易で読みやすくキレイにまとまってはいるんだけど
平易にしすぎるせいか、意味があいまいだったり、
コードが安全でなかったりするんだよね。
STL標準講座も標準講座MFCもそんな感じだった。
とっかかりの本としてはいいんだけど
それだけで終わるとプログラマとしても終わってしまう。
別の本で、曖昧な箇所をきっちり矯正しておく必要あり。
ある程度他の言語を使ってきた人には二度手間本。
0242デフォルトの名無しさん
2009/08/25(火) 00:03:360243デフォルトの名無しさん
2009/08/25(火) 00:04:480244デフォルトの名無しさん
2009/08/25(火) 00:32:49コア吐かせれば何か分かるでしょ。
0245デフォルトの名無しさん
2009/08/25(火) 00:37:57*((char*)p+1)なことやってるとか
handleを生ポインタで扱ってるとか
作って消して渡して読み取ってるとか
そもそもメッセージングには何使ってるんだおい
0246デフォルトの名無しさん
2009/08/25(火) 01:06:46旧型PS3:
Linuxインストール機能内蔵でPS3をPCとして使うことができる。
PPC Linux用の無料のソフトがいっぱい動く。
また、Cellの開発ツールも無料で入手できるので自分でCellのプログラムを作って実行させることができる。
ドルビーTrueHD、DTS-HDMAはリニアPCM変換で対応。
HDD〜80G
実勢価格36000円程度
薄型PS3:
Linuxインストール機能は除去された。
ブラビアリンク機能でブラビアと連動した電源のON OFFができる。
ドルビーTrueHD、DTS-HDMAのビットストリーム出力対応。
HDD120G
比較して低騒音低発熱
実勢価格29980円
0247デフォルトの名無しさん
2009/08/25(火) 09:59:48何?nanなの?
0248デフォルトの名無しさん
2009/08/25(火) 13:11:54ぐっときた
0249デフォルトの名無しさん
2009/08/25(火) 14:24:23iとjを見分ける労力=無駄【目がチカチカ】
http://pc12.2ch.net/test/read.cgi/tech/1243509968/
このスレ思い出したw
0250デフォルトの名無しさん
2009/08/25(火) 18:49:570251デフォルトの名無しさん
2009/08/25(火) 19:12:27lと1の区別がつかないのもあるし、mとnも似てるし、oは0と混同するし、qは9と似てる場合もあるし。
0252デフォルトの名無しさん
2009/08/25(火) 19:13:39■ このスレッドは過去ログ倉庫に格納されています