C言語なら俺に聞け( ..
[2ch|▼Menu]
263:デフォルトの名無しさん
07/05/12 16:05:26
>>261
戻り値を使わないことを明示する効果がある。
lintのようなチェッカを黙らせる効果もあるな。

264:デフォルトの名無しさん
07/05/12 16:06:37
そうそう、コーディング規約に「戻り値は必ずチェックすること」という項目があって、
それの評価を厳密に行なう運用の場合にもそうする必要があるね。

265:デフォルトの名無しさん
07/05/12 16:10:14
>>263
lint対策か。それなら納得

266:デフォルトの名無しさん
07/05/12 16:57:40
コンパイラにもよる。
たとえばFreescaleのCodeWarriorは(void)をつけないとwarningを出すのがデフォルト動作。

267:デフォルトの名無しさん
07/05/12 18:42:50
int main(void){
  int a=1;
  kansu(a);
}
までやっておいて

@int kansu(int a){
  printf("%d",a*2);
  }
Aint kansu(int *a){
  printf("%d",a*2);
  }

@だと正常に動いたのですが、
Aだと「*」がダメだ〜 とコンパイラに怒られるのですが、
この違いとは何なんでしょうか?

268:デフォルトの名無しさん
07/05/12 18:45:51
>>267
(2)の*は、意味も分からないで適当につけたの?

269:デフォルトの名無しさん
07/05/12 18:47:47
int kansu(int *a){
  printf("%d",a*2);
  }
 ↓

printf("%d",*a*2);
       ↑
    これじゃね?

270:デフォルトの名無しさん
07/05/12 18:50:45
gets()関数で文章を読み取ってます。リダイレクションでメモ帳で作った文章入れると、改行のところ以降プログラムに読み込まれません。
どうしてでしょうか?改行があっても最後までいきたいんですが

271:デフォルトの名無しさん
07/05/12 18:52:22
>>270
getsは改行文字までしか読み取らない
manにも書かれてる基本仕様

ついでにgetsを使うのは推奨されない

272:デフォルトの名無しさん
07/05/12 18:53:05
>>271
じゃあ代理のものとして、何を使ったらいいですかね

273:デフォルトの名無しさん
07/05/12 18:54:58
>>268
気のせいかもしれませんが、
関数を定義してるプログラムを見ると多くが *a となっていたので、
違いを知りたいなと思って作ったプログラムなので、
かなり不備はあるかもしれません・・・。

>>269
Aの場合だと必ずメモリ関連でセグメントエラーか、警告が出続けてしまうんです。
試したところ、、、セグメントエラーが出ました。


274:デフォルトの名無しさん
07/05/12 18:56:55
>>272
fgets(・・・, stdin)

275:デフォルトの名無しさん
07/05/12 18:58:02
>>274
stdinっていうのはなんでしょうか

276:デフォルトの名無しさん
07/05/12 18:59:01
>>272
>gets() を使うのは極めて危険である。(中略)代わりに fgets() を使うこと。
URLリンク(www.linux.or.jp)

これぐらい自分で調べろ

277:デフォルトの名無しさん
07/05/12 18:59:34
>>273
コールするほうも
kansu(&a);
と変えないとだめだよ。

こういうところで試行錯誤してるなら、入門書を一冊買ったほうがだいぶ時間の節約になると思うけど。

278:デフォルトの名無しさん
07/05/12 19:00:09
>>275
とりあえずググれや。

279:デフォルトの名無しさん
07/05/12 19:00:11
>>273
int kansu(int *a) にするなら
int main(void){
  int a=1;
  kansu(&a); < &をつけなきゃ
}

280:デフォルトの名無しさん
07/05/12 19:01:56
>>276
危険なんですね。
fgetsにしたら
呼び出し時のパラメータが足りない:fgets(関数 main )
ってなってコンパイルできないんですが・・・・

281:デフォルトの名無しさん
07/05/12 19:02:58
>>280
URLリンク(www.bohyoh.com)
ちゃんと必要な引数を与えている?

282:デフォルトの名無しさん
07/05/12 19:04:35
>>277,279
すごい納得できました。ありがとうございました。

入門書は・・・買ったんですが、、、馬鹿なので理解できない^^;

283:デフォルトの名無しさん
07/05/12 19:06:16
>>281
なんかよくわからないんですが、
char型の配列に文章をいれたいんです・・・・

char bunsyo[256]
みたいなやつにです

284:デフォルトの名無しさん
07/05/12 19:07:28
>>283
fgets(bunsyo, 255, stdin)

285:デフォルトの名無しさん
07/05/12 19:08:16
>>283
gets()をfgets()に変更するくらいの手続きを自分で考えられない(≒検索できない)なら、
プログラマに向かないからとっとと諦めた方がいいよ。

286:デフォルトの名無しさん
07/05/12 19:09:04
>>284
ダウト。慣用句的にそれを使っているのなら、
一度マニュアルページをよく読んで自分の過ちに気付いておいた方がいい。

287:デフォルトの名無しさん
07/05/12 19:09:56
>>284
コンパイルはとおるんですが、改行のところで読み込みがおわってしまうんですが・・・・

288:デフォルトの名無しさん
07/05/12 19:10:09
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1

289:デフォルトの名無しさん
07/05/12 19:10:27
>>286
ダウト。説明なしにそういうことを言うのはお前の知ったかに過ぎない

290:デフォルトの名無しさん
07/05/12 19:11:12
>>287
fgets()も、改行までしか読まない。
だから、マニュアルページを読むなり情報を検索できないなら無駄だから諦めろって。

291:デフォルトの名無しさん
07/05/12 19:11:56
>>288
gdgdいってねーで正解を書いたら?知ったかへぼプログラマーwwww
N-1そうだよ?何か?まさか、254 にしろとかボケないだろうね?

292:デフォルトの名無しさん
07/05/12 19:12:48
>>290
読み込むテキストに工夫がいりますかね?

293:デフォルトの名無しさん
07/05/12 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。

294:本日の知ったか馬鹿第一号
07/05/12 19:13:27
288 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:10:09
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1

295:デフォルトの名無しさん
07/05/12 19:13:42
暇だからプログラム組もうかな
でも、モチベーションが・・・・・
なにか練習問題でものってるサイトないか?

296:デフォルトの名無しさん
07/05/12 19:14:33
>>292
テキストファイルを丸ごと読み込むには、
・fgetc()で一文字ずつ
・fgets()で一行単位で
・fread()でブロック単位(或いは一気に)
読む必要がある。

297:デフォルトの名無しさん
07/05/12 19:14:34
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ


>>292
ループ回して一行ずつ読み込む

298:デフォルトの名無しさん
07/05/12 19:14:44
>>287
宿題スレで、ファイル全部読み込むコード書いてくださいって言ったほうがいいんじゃね?


299:デフォルトの名無しさん
07/05/12 19:14:47
>>276とかこのスレにいらねーだろ。このスレが何なのかわかっていないのに
まだ勉強中の知らない奴を見つけて、自分が知っていることをひそかに自慢しながら
他人をたたく基地外だろ。ここでレスしているほかの奴にとっては迷惑千万、失せろクズプログラマー

300:デフォルトの名無しさん
07/05/12 19:15:52
>>293
>そこまで分かってて正解が判らないような屑が
自分が指摘したのに答えられない(勘違い)クズこそ来るなよw
お前はまったく指摘をしていない。ただたんに 自分が思った ことと違っていただけ。
それもお前が間違えているという勘違い(プ
不適切なら正しい使い方を明示しろ、たぶんお前じゃできない。あれは間違っていないからw

301:デフォルトの名無しさん
07/05/12 19:15:56
ファイルのサイズがわかってるなら、適当な大きさのバッファを用意して、
fread()でもいいけどな。

302:デフォルトの名無しさん
07/05/12 19:16:07
人間の屑よりはマシだな

303:デフォルトの名無しさん
07/05/12 19:16:58
>>296
うーん。めんどくさそうですね。テキストファイルの改行をなくしちゃいます

304:デフォルトの名無しさん
07/05/12 19:17:35
>>300
あのね、坊やみたいなお子ちゃまはこんなところに来ちゃダメよ。
既に正解レスがついているんだからもっと落ち着きましょうね。

305:デフォルトの名無しさん
07/05/12 19:18:10
お前ら邪魔

306:デフォルトの名無しさん
07/05/12 19:18:18
>>299
自分で考えよう、調べようって姿勢が見えたら、頭わるそうなヤツでもけっこう親切に教えてもらえるよ。
ただ「わからない、を即答せよ」ってだけじゃ教えてもらえない。

307:デフォルトの名無しさん
07/05/12 19:19:32
>>293
揚げ足取りにもならなかったな、所詮お前はわかっていない(っと自分が思った)奴をたたくだけか
二度とくるな、お前みたいなクズこそこのスレにはいらない。このスレのタイトル読めますか?
あっ、日本語も日本の社会もろくに知らない在日かw

308:デフォルトの名無しさん
07/05/12 19:20:15
まぁ、fgets()の慣用句はfgets(buf, sizeof(buf), stdin)だがな。
仮にもプログラムを組もうというときに、きちんと調べる手間を惜しんじゃ遺憾な。

309:デフォルトの名無しさん
07/05/12 19:20:18
以下、キモメンメガネデヴピッツァのきめ台詞が出るまでお待ちください


310:デフォルトの名無しさん
07/05/12 19:20:38
>>304
あのね、小学生未満の精神年齢のお子ちゃまはこんなところに来ちゃダメよ。
勘違いの指摘レスがついているんだからもっと落ち着きましょうね♪
んで、何が間違いか、指摘できた?正解がとかじゃなくてw

311:デフォルトの名無しさん
07/05/12 19:21:38
「屑」対「クズ」か。どっちが半島人かは火(病)を見るより明らかだな。

312:デフォルトの名無しさん
07/05/12 19:22:26
>>284は単なる入力ミスだろ。それだけでここまで お前はあほだ! みたいな
プレッシャーをかける基地外ってプログラマーに向いてねーよなwwwwww

313:デフォルトの名無しさん
07/05/12 19:22:47
>>309
半島人がでてきたぞ。

314:デフォルトの名無しさん
07/05/12 19:23:23
>>282
だったらその本は自分に向いていなかったと諦めて、
ちょっと立ち読みして、ほかに良さそうな本を探して買えばいい。

315:デフォルトの名無しさん
07/05/12 19:23:36
くずはくずかごに入っとけ。

それより早く>>295に答えてください。

316:デフォルトの名無しさん
07/05/12 19:24:33
>>311 地球上のカス以下の  お  前  が  言  う  な  wwwwwwww
っつーか、揚げ足取り必死だなw
そんなんじゃ本当にプログラマーに向いてねーよ、その程度のことでガミガミ
相手を罵倒するようじゃ、そんな奴こそこんなスレに来ないほうが良いだろ。
気分が悪くなるものを敢えてみてゲロを吐いているマゾかい?w
グロ動画でも貼ってやろうか?w

317:デフォルトの名無しさん
07/05/12 19:24:59
おお、新展開。今度の攻撃は「単なる入力ミス」ですw

>>315
宿題スレに未解決の宿題が幾つかあるんじゃない?
下手なサイト見るより勉強になりそうですよ。

318:デフォルトの名無しさん
07/05/12 19:29:25
freadでも使えば。

319:デフォルトの名無しさん
07/05/12 19:30:13
>>317
ほらな、そういうことで相手をチクチクつついて周りの気分も害しているだろ?
だからお前みたいなつまらねークズはプログラマーに向いてないから
頼むから大掛かりなプロジェクトには絶対に介入するなよ。
っつーか協調性がなくて無理だろうね、お前みたいなちっぽけなクズはw
ちなみに、あの程度の間違いならさらっと 256 って書けば済んだ話だろ。
お前わかってねー!間違えたへへーん馬鹿!とか罵倒する方が頭がイカレてんだろ。
そういう奴に限って、自分の間違いを指摘されると、認めないどころか
お前がおかしい!って言い始めるから困るぜ ヤレヤレ

以後、さっきからきんもぉ〜★な指摘するだけで答えを出さない基地外は放置よろ
たぶん引きこもりニートだろ

320:デフォルトの名無しさん
07/05/12 19:30:36
>>318
>296
>301

321:こいつさいこーに協調性のない引きこもりwww
07/05/12 19:32:14
317 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:24:59
おお、新展開。今度の攻撃は「単なる入力ミス」ですw

293 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。

297 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:14:34
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ
なんでバッファのラスト1バイトを無駄にしてんだよ
↑こういう嫌らしい言い方をするだろ?
だから日ごろ嫌われていることに気づかない仲間はずれなんだろうからこんな場所で
匿名性を利用して自分より知識の乏しい弱者相手に強気になれるんだろうねw


322:284
07/05/12 19:34:14
>>284はただの入力ミスです ♠
56としたつもりが同じキーを2回押して書き込みしちゃっただけでぇ〜〜〜す ♣
あぁ〜〜いとぅいまてぇ〜〜ん、文字配列のサイズを指定するように、ここでレスする以外の
自分が書くソースでは sizeof 使ってまぁ〜〜〜つ ♥

323:デフォルトの名無しさん
07/05/12 19:36:19
char s[256];
size_t size=sizeof(s)/sizeof(s[0];
sizeof(s,size,stdin);
こんな感じでぇ〜〜どぉ〜〜〜でちゅかぁ〜〜?♦

324:デフォルトの名無しさん
07/05/12 19:37:15
あちゃぁ〜〜、今度はsizeofの閉じ括弧忘れちゃいまちちゃぁ〜〜〜
あぁ〜〜〜いとぅいまちぇぇ〜〜〜〜ん ♪

325:デフォルトの名無しさん
07/05/12 19:39:29
fgetsの仕様って
buf[BUFFER_SIZE];
fgets(buf, BUFFR_SIZE, stdin);
とかするためにこんな仕様になってるんでしょうか?

326:デフォルトの名無しさん
07/05/12 19:43:07
こんな仕様が何を指すのかわからん。

327:デフォルトの名無しさん
07/05/12 19:44:52
>>325
そう

328:デフォルトの名無しさん
07/05/12 19:46:54
>>325
fgets()の他にも、strftime(), snprintf()も同じように格納バッファサイズを指定して、
それよりも少ない文字数しか格納しないような仕様になっている。


329:デフォルトの名無しさん
07/05/12 19:50:27
なるほど、文字列の最後が\0で終わるからその分余計に取らないと駄目だからか

330:デフォルトの名無しさん
07/05/12 20:11:00
普通にsizeof使えば、悩むことなんて何もないのに

331:デフォルトの名無しさん
07/05/12 20:20:56
>>330
getsもsizeof使って実装すれば何の問題もないのに、と思っていたりする?

332:デフォルトの名無しさん
07/05/12 20:22:21
まず、おまえさんが何が言いたいのか分からん。

333:デフォルトの名無しさん
07/05/12 20:22:29
333 gets!

334:デフォルトの名無しさん
07/05/12 20:37:37
つまり、まぁ、こういうこと

int main(void)
{
exit 0;
}

335:デフォルトの名無しさん
07/05/12 20:38:31
URLリンク(d.hatena.ne.jp)
お前らほんっとうにこれが好きなんだな

336:デフォルトの名無しさん
07/05/12 20:39:50
くだらなすぎ

337:デフォルトの名無しさん
07/05/12 20:54:40
標準入力から読み込みたいけどサイズとファイルポインタ指定が面倒ってことなら
自分でfgetsをそれらを決め打ちした状態で呼び出す関数作ればいいんでは

338:デフォルトの名無しさん
07/05/12 21:24:36
void WriteLog(const wchar_t szComment[])
{
FILE *fp;
errno_t err;
time_t ttime;
wchar_t buff[CTIME_SIZE];

if ( ( err = fopen_s( &fp, szPath, "at") ) != 0 )
return

time( &ttime );

if( ( err = _wctime_s( buff, CTIME_SIZE, &ttime) ) != 0 )
return;

fwprintf( fp, L"%s", szComment );
fwprintf( fp, L", %s", buff);

fclose( fp );
}
こういう関数を作って、使おうと思ったんですが、
例えばこのように使うと WriteLog( L"あああ (AAA)" );
↓のように書き込まれてしまいます
??? (AAA), Sat May 12 21:15:19 2007

なぜでしょうか?

339:デフォルトの名無しさん
07/05/12 21:43:29
>>338
ログファイルの先頭にBOMを入れるようにすれば読めるんじゃね?

340:デフォルトの名無しさん
07/05/12 22:06:58
今、配列の要素として1,2,3,4があるとき、これらの要素を連結して他の変数に代入(n = 1234)することはできますか?

341:デフォルトの名無しさん
07/05/12 22:07:24
できます。

342:デフォルトの名無しさん
07/05/12 22:15:24
>>341
教えて下さい

343:デフォルトの名無しさん
07/05/12 22:18:45
BOOL厨ワロタw

344:デフォルトの名無しさん
07/05/12 22:19:50
b = a[0] * 1000 + 1[a] * 100 + *(a+2) + 10 + a[3];

345:デフォルトの名無しさん
07/05/12 22:24:01
>>344
ありがとうございます

346:デフォルトの名無しさん
07/05/12 22:42:10
>>344
この妙な書き方噴いたwww

347:デフォルトの名無しさん
07/05/12 22:42:59
一箇所間違ってるし

348:デフォルトの名無しさん
07/05/12 22:50:12
>>347
可哀想だからスルーしてやれよw

349:デフォルトの名無しさん
07/05/12 22:50:45
足し算になってるのか

350:デフォルトの名無しさん
07/05/13 00:07:33
数学が分かってない人が多すぎる

351:デフォルトの名無しさん
07/05/13 00:18:02
小学生だっているだろうし 仕方ないさ


352:デフォルトの名無しさん
07/05/13 00:21:03
#include <stdio.h>
#include <math.h>

int main() {
int nums[] = {1,2,3,4,5};

int nums_len = sizeof(nums)/sizeof(nums[0]);
int num = 0;
for (int i = 0; i < nums_len; ++i) {
num += nums[i] * (int)pow(10, (nums_len-1) -i);
}

return 0;
}

よし、これでどうだ!!

353:デフォルトの名無しさん
07/05/13 00:29:06
もうsprintfでいいだろw


354:デフォルトの名無しさん
07/05/13 00:48:01
ちょっと聞きたいんだけど
(環境.WindowsXP BCC32)

#include <stdio.h>
int main()
{
FILE *fp=fopen("test.txt","w");
unsigned d=0x0d;
fwrite(&d,sizeof(d),1,fp);
fclose(fp);
return 0;
}

test.txt に バイナリ値で 0D 00 00 00 ではなく 00 00 00 4E として書き込まれる
これってどうしてでしょうか?

355:デフォルトの名無しさん
07/05/13 00:52:10
>>354
URLリンク(www.bohyoh.com)
URLリンク(www.bohyoh.com)


356:デフォルトの名無しさん
07/05/13 00:52:54
>354
bcc32(v5.82)でコンパイルしてみた。

ちゃんと
0D 00 00 00
になったけど?

357:デフォルトの名無しさん
07/05/13 00:53:19
>>354俺んとこじゃちゃんと0D 00 00 00になったぞい

358:デフォルトの名無しさん
07/05/13 00:54:14
亡羊のページなんか張るなよ

359:デフォルトの名無しさん
07/05/13 00:55:10
>>358
なんで?んじゃどこをはれば良いの?なんでいちいちちっぽけな低学歴馬鹿のお前の言うことを
聞かなきゃならねーの?さっきからうぜぇんだよ、くだらねぇことでチクチク煽ったり、あほじゃねこいつ?

360:354
07/05/13 00:55:21
失礼しました
ちょっと違いました

バイナリ値で 0D 00 00 00 ではなく 00 00 00 として書き込まれる
0D が書き込まれていない、でした
それと1Aも書き込まれないようです
制御コードだからですか?

361:デフォルトの名無しさん
07/05/13 00:56:20
>>360
意味が分からん。何がいいたい?

362:デフォルトの名無しさん
07/05/13 00:56:52
確認方法に問題があるんじゃないのか。
ちゃんとしたバイナリエディタ使ってるか?

363:自分が気に食わない発言を見つけると得意気に罵倒してくる基地外
07/05/13 00:57:12
286 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:09:04
>>284
ダウト。慣用句的にそれを使っているのなら、
一度マニュアルページをよく読んで自分の過ちに気付いておいた方がいい。

293 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
お前みたいな自分基準しか言わない馬鹿や間違っているのを見つけては叩くだけしかしない奴が
このスレどころかこの板にこない方が良いよ、プロになれなかったグラマー(ただのデブ)www

364:デフォルトの名無しさん
07/05/13 00:58:33
>>360
バイナリィエディタで開いてみたら、0D 00 00 00になったけど?

365:デフォルトの名無しさん
07/05/13 01:00:00
>>360
0x0d を書き込んでいて、
なんで 0x1Aを期待するのかわからんし。
そもそも書き込んでるのがバイナリなのにファイル名が.txtなのも謎だし。

というか君は何がしたいの?w
そこを言えば根本的なバグも教えて貰えるかも。

366:デフォルトの名無しさん
07/05/13 01:00:40
>>358
ねぇねぇ、どこを参照すりゃ良いの?お前、もしかして亡羊さんのことが嫌いな人?
亡羊さんに嫌がらせをしている人がいないか聞いたら、お前みたいなへぼプログラマーが
誰か特定できるかな?ちと亡羊さんに通報してこようかな?w

367:デフォルトの名無しさん
07/05/13 01:01:46
>>365
お前もいちいちうるさいなぁ、馬鹿じゃね?わけがわからないとかじゃなくてさぁ
できたって報告があるんだから、いちいち何言ってんだかわかんねーじゃなくて
どうやって0D 00 00 00以外が書き込まれたか、確認した手段を聞いた方がはえーよ馬鹿w

368:354
07/05/13 01:01:59
>>356-357
そうですよねぇ
普通なりますよねぇ
もうすこしチェックしてみます

369:デフォルトの名無しさん
07/05/13 01:03:44
>>360
URLリンク(www.vector.co.jp)
良いから開いてみれ。ちゃんと書き込まれているからw

370:デフォルトの名無しさん
07/05/13 01:07:54
C言語初心者です。
基本情報処理技術者をとって会社に就職して、
プログラマーからSEになったらどの位の給料になるんでしょうか?
もちろん個人と会社による話ですが、相場を教えて下さい。
SEになっても月に30万位なんでしょうか??

371:デフォルトの名無しさん
07/05/13 01:07:58
365の反応が普通だろw

372:デフォルトの名無しさん
07/05/13 01:08:52
>>370
マ板池

373:デフォルトの名無しさん
07/05/13 01:09:25
>>367
ば…ばかって言うヤツが馬鹿なんだからねっ!!!

374:デフォルトの名無しさん
07/05/13 01:09:51
>>371
普通じゃねーよ、相手にひたすらプレッシャーを与えてボロを出したところを
さらに叩く基地外くらいだろ、そういうのがデフォになっている視野も心も狭い低学歴はw
普通は何を使って書き込まれた値を確認したか聞くだろ。

375:デフォルトの名無しさん
07/05/13 01:10:52
>>372さん
マ坂とはなんでしょうか…?


376:デフォルトの名無しさん
07/05/13 01:11:40
良いかてめぇ〜ら、C言語をかじったくらいのクソガキが、これから始める初心者を
ネチネチいじめてんじゃねーよ、スレタイが読めていないのか、こういうスレに集まる
初心者より自分の方が知識も経験もあるということを知って安心したいのか知らないが
答える気がないならこのスレから出ていってくれ。二度と戻ってくるな。
所詮お前は、プロになれなかったただのデヴ(グラマー)だ

377:デフォルトの名無しさん
07/05/13 01:12:03
>>375
プログラマー板

378:354
07/05/13 01:15:10
すみません.自分の勘違いのようです
今作っているものがunsigned ID, unsigned short sizeを読み、次にsize分文字列として読ませているんですが
IDが0x0Dまたは0x1Aになるとバグったもので
もう一度見直してきます

どうもありがとうございました

379:デフォルトの名無しさん
07/05/13 01:16:06
>>378
おそらくfopenの際、モードをバイナリにしてないからだろ
バイナリ指定してない場合、改行文字絡みで自動変換が行われる

380:デフォルトの名無しさん
07/05/13 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ

381:デフォルトの名無しさん
07/05/13 01:21:24
>>374
火病ってんじゃねーぞ

・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義

どっちが基地外かは火を見るより明らか

382:デフォルトの名無しさん
07/05/13 01:21:55
マジでやめてくんないかな

383:デフォルトの名無しさん
07/05/13 01:22:45
嫌な荒れ具合だな
亡羊本人でも降臨してんの?

384:354
07/05/13 01:24:02
>>379
まったくもって情けないです
バイナリ指定したつもりがしてませんでした
ちゃんと動作しました
お騒がせしました

385:デフォルトの名無しさん
07/05/13 01:25:07
>>380 >>381
おまえらうるせーよ?お前が一番うっとうしい、士ねよ馬鹿
質問に答える気がないなら来るなよ。ほかにレスしている奴の邪魔なんだよクソガキ
何歳だお前?なぁ?士ねよ馬鹿w
ふぁびょってんのはお前だろ。他人にファビョってんじゃねーよとか言っておきながらwwwww

380 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
↑それお前だろ。お前の場合はウマシカだがw

381 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:24
>>374
火病ってんじゃねーぞ

・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義

どっちが基地外かは火を見るより明らか

・ >365 が元質問者を叩いているという事実認識がまず脳内
自分のレス読み返せ基地外。

・ 自分が >365 を叩いてる事実を放置
はぁ?なんで?叩いた覚えありましぇ〜〜ん、ちゃんとできたと答えたけど?
いつ俺が叩いたか、参照レスきぼんぬ。ってか、俺を特定できないから無理だろうけど
俺は叩いていないし

386:デフォルトの名無しさん
07/05/13 01:25:53
>>383
そうやっていないのに特定の人物をどうこう言い始めるだろ?
お前もうそれで名誉毀損だよ。亡羊さんに通報しとくねw
覚悟しとけよ

387:デフォルトの名無しさん
07/05/13 01:27:09
釣れてますねw

388:デフォルトの名無しさん
07/05/13 01:27:18
>>386
亡羊ってだれだよ。

389:デフォルトの名無しさん
07/05/13 01:27:40
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 に問う
なんではっちゃだめなの?理由は?お前の気まぐれとか、気分とかだったらまずお前がただの馬鹿だと言う結論しか出ないから。
参考にできるページがあったら使う、別になんら問題ないし、そのページには間違った記述はされてないよ。
まぁ、たぶん亡羊を嫌っている誰かだろ。特定できそうだから、亡羊さんに聞いてくるわ。
どうせプロになれなかったボケグラマーだろw

390:デフォルトの名無しさん
07/05/13 01:29:54
>>388
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 参照w
言ったのは俺じゃないから。正しくは望洋だから。ANSI、ISO準拠を重視した本の出版をしているし
そんじょそこらの知ったかプログラマーと比べたらかなりまともな人だろうね。
他人を叩くような奴って、世界基準すら知らなさそうで視野が狭そうだなw
int mainについても理解してなさそう(どこぞのスレで議論になったが、ISOの参照ページを出したら
尻尾を巻いて逃げたけどなw)

391:デフォルトの名無しさん
07/05/13 01:32:00
>>俺を特定できないから無理だろうけど

これがこいつの心理だろうなw

392:デフォルトの名無しさん
07/05/13 01:32:30
>>381
> ・ 自分の主観が「普通」と勝手に定義
はい?自分の主観で言った覚えはありませんけど?
ちゃんとバイナリィエディタで 0D 00 00 00 が書き込まれているのを確認しましたが何か?
質問者が何で書き込まれた値を確認したか聞いたのに、どうして俺が 主観 となるんでしょうか?
正確にお答えをして下さい。でなければ偽証罪で通報しますよ?証人喚問は怖いですよぉ〜〜

393:デフォルトの名無しさん
07/05/13 01:33:35
>>391
ぷぷっ、そういうところにしかもう反応できない肝っ玉の小さいクズ乙w
こういう匿名(実際のところは完全に匿名ではない)ところでしか強がれないボケ
他人の粗探しを必死こいてするくせに、自分の落ち度をまったく認めない井の中の蛙乙w

394:デフォルトの名無しさん
07/05/13 01:34:33
ここまで望洋さんに肩入れできるのはある意味すごいと思った。

395:デフォルトの名無しさん
07/05/13 01:35:51
質問者の答えに答えるどころか お前何やってんだよ としか言わない奴はとっととこのスレから
出て行ってくれませんか?うっとうしいんだよ、答えもしないくせに相手のボロを探すだけの馬鹿

396:デフォルトの名無しさん
07/05/13 01:35:52
>>389
特定できたら家にきてくれよ。酒くらいは出してやる。

397:デフォルトの名無しさん
07/05/13 01:40:30
もう眠い。寝る。

398:デフォルトの名無しさん
07/05/13 01:41:01
どうぞ。

399:デフォルトの名無しさん
07/05/13 02:02:29
望洋信者って怖いな

400:デフォルトの名無しさん
07/05/13 02:04:43
いつの間にか信者になっているしw
参照できるライブラリのページを出しただけだろ。亡羊を狙った覚えはない

401:デフォルトの名無しさん
07/05/13 02:44:13
なんだ、まだやってたんだ。暇な人はこれだから……

402:デフォルトの名無しさん
07/05/13 05:37:00
他人の粗探しをしている奴がきんもぉ〜♪だよな。指摘するならするで
間違いを指摘すりゃ良いだろ。気持ち悪いよ、お前それわかってねーなって
ネチネチ煽る奴。日頃、まともな人付き合いがないからこういう捻くれた
相手を見下して自分が優位な立場だと思い込みたい引きこもりなんだろうね

403:デフォルトの名無しさん
07/05/13 05:45:51
>402
自己紹介乙

404:デフォルトの名無しさん
07/05/13 06:14:59
>>403 反応したお前ノナー

405:デフォルトの名無しさん
07/05/13 06:15:32
>>403=昨日、つまらないミスを気持ち悪く指摘して煽っただけの知ったかバカ

406:デフォルトの名無しさん
07/05/13 07:01:27
亡羊?
ボコボコにしてやんよ

 ∧_∧
 ( ・ω・)=つ≡つ 
 (っ ≡つ=つ
 /   ) ババババ
 ( / ̄∪

407:質問者
07/05/13 08:52:04
きのうはお騒がせしました。
「演算子を使わない」とは、四則演算のことです。
ビット演算で何とかできないかな?と思いましたが。どうでしょうか?

408:デフォルトの名無しさん
07/05/13 10:27:06
#include <stdio.h>
#include <string.h>
int main(void) {
    char *name[12] = {"Mutsuki","Kisaragi","Yayoi","Uzuki",
    "Satsuki","Minazuki","Fuzuki","Hazuki",
    "Nagatsuki","Kannazuki","Shimotsuki","Shiwasu"};
    char **p;
    int i;
    p = name;

    for(i = 0;i < 12;i++){
        printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p); /* @ */
        printf("%2d:%s\n",strlen(*p),*p); /* A */
        ++p;
    }
    return 0;
}
今、ポインタのポインタを使って文字数を数える練習問題やっているのですが
@のprintf文を実行するとDos窓が強制終了してしまいます。
デバックの時にエラーは出ないのですが・・・なにが間違っているのでしょうか。
Aの方は普通に出力できます。

Visual C++ 2005 Express Editionを使っています。

409:デフォルトの名無しさん
07/05/13 10:38:24
>>407
コンピュータサイエンスの基礎をやれ。
四則演算を論理素子でどうやって実現するか知れば
くだらない疑問を抱かずにすむ。

410:デフォルトの名無しさん
07/05/13 11:02:22
>>408
printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p);

%2d = i+1
%s = strlen(*p) ←
%d = *p ←

411:デフォルトの名無しさん
07/05/13 11:08:34
どうやって、論理素子で計算するんですか。
16進数に置き換えてするんだとは思いますが、すごく疑問です。
2×4=8とか、8÷2=4を論理素子で計算する。
すごく難しいと思います。

412:408
07/05/13 11:15:59
>>410
あああ!逆だった
ありがとうございます!

413:デフォルトの名無しさん
07/05/13 11:36:28
>>411
本屋に行って"CPUの仕組み"みたいな本買ってこい
あとは加算器で調べてみるとか

414:デフォルトの名無しさん
07/05/13 11:47:10
>>411
2 << 2
8 >> 1

415:デフォルトの名無しさん
07/05/13 12:40:23
剰余はどうするんすか?
スタック使って割られる数-商*割る数って演算するんですか?

416:デフォルトの名無しさん
07/05/13 13:43:31
ファイル操作のとこでreturn(-1);の意味がさっぱり。

417:デフォルトの名無しさん
07/05/13 14:57:20
>>415
掛け算と割り算は加減算で表現できるだろ
単純に何回も引いていって引けなくなればそれが余り
2進数で桁上がり下がりフラグ使って同じようにやればできる
筆算で(2進数)割り算やるときとほとんど同じ あとは本買って嫁

>>416
return(-1);はよくエラーチェックに使う
-1が返ってきたらファイル開けなかったということになってるとおも


418:デフォルトの名無しさん
07/05/13 14:58:24
変数を使わずに1+2の計算結果を出すにはどのようなプログラムを組めばいいのでしょうか

419:デフォルトの名無しさん
07/05/13 15:04:32
printf("%d",1+2);

420:デフォルトの名無しさん
07/05/13 15:04:42
>>418
こういうこと?

printf("%d\n", 1 + 2);


421:デフォルトの名無しさん
07/05/13 15:05:48
演算子、変数と来たから次は何だろう

422:デフォルトの名無しさん
07/05/13 15:06:39
関数を使わずに(ry

423:デフォルトの名無しさん
07/05/13 15:08:56
C言語を使わずに(ry

424:デフォルトの名無しさん
07/05/13 15:10:33
頭を使わずに(ry

425:デフォルトの名無しさん
07/05/13 15:20:20
>>417ありがとうございます

426:デフォルトの名無しさん
07/05/13 15:35:27
30年とか表示するとき
int a;

a = 30年;

printf("%d",a);

でやると、年が邪魔っぽくて表示されない
どうやればいいの〜?

427:デフォルトの名無しさん
07/05/13 15:37:35
printf("%d年", a);

428:デフォルトの名無しさん
07/05/13 15:39:42
表示以前にコンパイルできないのでは????

429:デフォルトの名無しさん
07/05/13 15:40:53
>>428
だから結果として年が邪魔で表示されないんだろう。初心者苛めんな。

430:デフォルトの名無しさん
07/05/13 15:41:45
せめて教科書読めよっていう質問ばっかりきてるなぁ


431:デフォルトの名無しさん
07/05/13 15:47:30
とうとう>>424の問題が出てきたか

432:デフォルトの名無しさん
07/05/13 16:04:10
一般的な入門書やりおわったけど、次はどんなステップを踏めばいいですか?

433:デフォルトの名無しさん
07/05/13 16:05:13
>>432
目標は何?


434:デフォルトの名無しさん
07/05/13 16:07:29
自分一人で基礎知識の応用が出来るようにすることかな。
処理速度とかも視野に入れた上で。

なんかテキトーに自作ツール作ってみるとか。

435:デフォルトの名無しさん
07/05/13 16:08:14
>>434>>432へのレス

436:デフォルトの名無しさん
07/05/13 16:09:20
>>432
この世界は片っ端から全部覚えてたらキリがないから
ちゃんと自分がなにをやりたいのか見定めて進んで行かんと、
無駄に多大な労力を費やすことになるぞ。

437:デフォルトの名無しさん
07/05/13 16:09:22
作りたいもん作ればいいと思うぜ

438:デフォルトの名無しさん
07/05/13 16:12:40
>>434
自分で C のプリプロセッサでも作ってみたら?

確か以前、"未踏"でも採択されたことがあったはず。


439:デフォルトの名無しさん
07/05/13 16:33:39
Socket,データベース,文字列処理(正規表現含む)
これらができると幅がぐっと広がる…っていうか基本
後はアイデア次第

440:デフォルトの名無しさん
07/05/13 16:34:35
かなり意欲はあるのですが…やはりいろいろとオリジナルのアプリケーション・ソフトウェアを作ってみたいです。やはりそーゆー本を買っていろいろやってみるべきですか?

441:デフォルトの名無しさん
07/05/13 16:36:13
本を買う必要はないが、色々やってみるべきだろう。

442:デフォルトの名無しさん
07/05/13 16:38:52
>>439の中でまず文字列処理からやってみては?
とっつきやすいと思うよ。
ネットにも入門サイトとかいっぱいあるし。

443:デフォルトの名無しさん
07/05/13 16:41:18
入門書に文字列処理についての事が無かった様に思うのでお聞きします。文字列処理は初耳です。

444:デフォルトの名無しさん
07/05/13 16:42:23
>>440
作りたいものがあるならさっさと作ってみるのが吉
やってるうちに技術もついてくる

445:デフォルトの名無しさん
07/05/13 16:44:04
>>443
>入門書に文字列処理についての事が無かった様に思うのでお聞きします
strcpy() も文字列処理だと思うが?

446:デフォルトの名無しさん
07/05/13 16:44:16
現実問題Cで作るべきアプリなんて存在しないのが辛いな

447:デフォルトの名無しさん
07/05/13 16:45:51
みなさんご親切に…大変ありがたいです。ちなみに、みなさんはどのようなプロセスで、今のC言語のプログラミング力まで力を伸ばされたんですか?簡易的に話して頂けたらいいのですが…

448:デフォルトの名無しさん
07/05/13 16:47:17
ゲームプログラミングをやってみては?
囲碁・将棋・チェス・オセロとかね。
Cで作るのが最適。

449:デフォルトの名無しさん
07/05/13 16:50:23
>>447
宇宙からの電波

>>448
オセロなら6行で作ってた神がいたな

450:デフォルトの名無しさん
07/05/13 16:51:01
>>448 やはりそうしようかなと思います。Cで作るべきアプリケーションがそんなに存在しないようならば

451:デフォルトの名無しさん
07/05/13 16:51:53
自分は将棋が趣味で、自分より強い将棋プログラムを作ろうという目標があったから勉強した。
将棋プログラムってハッシュテーブルとかリストとかソートとかビット演算とか、
基本的なアルゴリズムが各所にちりばめられてるから勉強にはいいテーマだと思う。

452:デフォルトの名無しさん
07/05/13 16:52:40
>>450
>Cで作るべきアプリケーションがそんなに存在しないようならば 

これって、どういう意味だと思っている?


453:デフォルトの名無しさん
07/05/13 16:56:43
>>452 C言語にはその点ではあまり需要がないものかと…

454:デフォルトの名無しさん
07/05/13 16:57:15
>>450
あとはOSに興味あるならLinuxのソース読んでみるとか

学ぶのは自分で作ってみたり本読むか知っている人に聞く
プログラミング力のうちの知識はそれで十分だが英語できるかどうかで
足りない知識の吸収率が変わってくる(最先端の知識・アルゴリズムなど)
あとは経験で補えるが数学力のあるなし(知識じゃなく頭良いかどうか)
でどこまで伸びるかが変わる


455:デフォルトの名無しさん
07/05/13 17:06:48
勉強のためにCの勉強してるなら
標準ライブラリのクローン(strcpy, strcat, printf, ...)と
UNIX系コマンドラインツール(cp, tail, head, sort, ...)のクローンを片っ端から作っていくと勉強になる。
サイズも小さいし、答え合わせ用のソースコードも(あまり初学者向けとは言いがたいが)あるし。

まあほとんど糞つまらん苦行に近いがコーディングは楽しいし一番無駄がないだろう。

456:デフォルトの名無しさん
07/05/13 17:08:09
うーん、自分はまだ、配列、構造体、ポインタ、ファイル操作、関数の作り方、変数、if文、switch文、for文、while文、をやってきたとゆう感じです。

457:デフォルトの名無しさん
07/05/13 17:10:47
>>456
じゃ、もう少し実践的な奴やってみたら?
URLリンク(www.kumei.ne.jp)
とか参考にしてウインドウ開いてみたりさ。


458:デフォルトの名無しさん
07/05/13 17:15:36
バブルソートを用いて
構造体に対して、データが格納された構造体配列を
学生証番号で降順にソートする関数sortIDと
点数で降順にソートする関数sortEngを作成しなさい。

データの入力は、関数input_seiseki_pを呼び出して行い、
次に「どちらで整列しますか(1:学生証番号、2:点数):」と表示し
その入力により関数sortIDと関数sortEngを選択肢、その結果を
関数seisekiを使って表示する関数meinを作りなさい


上記の問題において私なりに途中まで作ってみたのですが、
ここから先がわかりません。。

どなたかお知恵を拝借させて下さい

URLリンク(kansai2channeler.hp.infoseek.co.jp)
↑途中まで作ったソースです。

よろしくお願いします。


459:デフォルトの名無しさん
07/05/13 17:17:41
もういっかい違う入門書を買ってみろってことですか?

460:デフォルトの名無しさん
07/05/13 17:40:37
>>458
どこがどうわからないのかkwsk
学校とかのレポートなら解答出すわけにいかんし

>>459
>>457じゃないがおまえちゃんと>>457のリンク先見てみたのか?
簡単なデータペースやゲームの作り方も内容にあるだろ
それとも全部わかってるのかこの内容?

461:デフォルトの名無しさん
07/05/13 17:47:38
まぁ、猫が妥当かどうかは問題だがな。

462:デフォルトの名無しさん
07/05/13 17:48:44
ちゃんと見てませんでした。ごめんなさい。

463:デフォルトの名無しさん
07/05/13 18:10:29
URLリンク(www.geocities.jp)
のページにあるローレンツのプログラムをコンパイルしようとしたのですがエラーがでて出来ませんでした
開発環境に問題があると思うのですが、原因がよくわからないのでご教授願います
windowsXPでソフトは「C言語を始めよう!」、コンパイラはBorland C++ Compiler 5.5です
そのままコピペしてコンパイルするとエラーメッセージが(rktest.cはファイル名)
------ コンパイル開始 ------
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
rktest.c:
エラー E2140 rktest.c 17: ここでは宣言はできない(関数 main )
警告 W8057 rktest.c 57: パラメータ 't' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 57: パラメータ 'z' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 66: パラメータ 't' は一度も使用されない(関数 f2 )
警告 W8057 rktest.c 75: パラメータ 't' は一度も使用されない(関数 f3 )
*** 1 errors in Compile ***
------ コンパイル終了 ------
と出ます
スレ違いのような気がしますが、該当スレが見つからなかったのでここで質問させていただきました

464:デフォルトの名無しさん
07/05/13 18:18:13
>>463
そのコードはANSI Cに準拠していない。

FILE *output; の行を main 関数の先頭に持ってくるといいよ。

465:デフォルトの名無しさん
07/05/13 18:39:02
4つくらいのデータを1つのノードとして
そのノードを2二次元配列の1文字分のように扱いたいんですけど、
構造体を設定して
strcut ABC{
char
char
char
};
struct ABC data[][];とできますかね?

466:デフォルトの名無しさん
07/05/13 18:40:59
struct ABC data[ ][ ];です

467:デフォルトの名無しさん
07/05/13 18:41:17
なんでやってみないの?

468:デフォルトの名無しさん
07/05/13 18:42:18
いややったんだけどセグメンテーションエラーだから
無理なのかと。

469:デフォルトの名無しさん
07/05/13 18:44:16
>>468
コンパイルできないはずだけど


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5223日前に更新/240 KB
担当:undef