トップページ⇒tech
1001コメント233KB

C言語なら俺に聞け! Part 98

■ このスレッドは過去ログ倉庫に格納されています
0001v(^o^i)dNGNG
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。

エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

各種リンク、関連スレは>>2-3あたり

C言語なら俺に聞け! Part 97
http://pc5.2ch.net/test/read.cgi/tech/1102749965/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0153デフォルトの名無しさんNGNG
使えないコンパイラーの名前をあげてみろよ?

それとも自分が「VC厨」だとバレるから言えない?
0154デフォルトの名無しさんNGNG
とりあえず「DOSで起動するコンパイラ」はおすすめできない
0155デフォルトの名無しさんNGNG
>>152
バカですか君は。
long long intは確かに通るコンパイラは多いけど、コンパウンドリテラルとか、restrictポインタとか
まともに使えるコンパイラがあるんですか?と聞いているのに。木を見て森を見ずとは、まさに
君のような人間の事を言うんですね。
0156デフォルトの名無しさんNGNG
*p++はどうした?
0157デフォルトの名無しさんNGNG
先に増えるだろ
0158デフォルトの名無しさんNGNG
多倍長整数ならrubyのソースにもある
0159デフォルトの名無しさんNGNG
rubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyrubyruby
0160デフォルトの名無しさんNGNG

まさかこのスレには無限ループを普通に書く奴はいないだろうな
0161デフォルトの名無しさんNGNG
while("ruby!"){
  // ループ処理
}
0162デフォルトの名無しさんNGNG
while (1) {
  "10種類マダ?”
}
0163デフォルトの名無しさんNGNG
また10個か
0164デフォルトの名無しさんNGNG
なにしろ、まだ一個も出てないもんで
0165デフォルトの名無しさんNGNG
long long intが使えないコンパイラ
Borland C++ Compiler
Visual C++

面倒くさいのであとはよろしく.
0166デフォルトの名無しさんNGNG
> long long intは確かに通るコンパイラは多いけど

いえそれが使えないコンパイラーが何かと聞いているのですが?
0167デフォルトの名無しさんNGNG
> 先に増えるだろ

なわけねー
0168デフォルトの名無しさんNGNG
> コンパウンドリテラルとか、restrictポインタとかまともに使えるコンパイラが

どちらもgccならふつーに使える。
0169デフォルトの名無しさんNGNG
> long long intが使えないコンパイラ
> Borland C++ Compiler
> Visual C++

やっぱりVC厨だったかー
0170デフォルトの名無しさんNGNG
>>169
使えないコンパイラを挙げるのに、そのコンパイラを使っている必要がありますか?:-)
0171デフォルトの名無しさんNGNG
そうではなく、VC厨だから、いちいち標準機能なのにVCで使えないものの話題が出るたびに
ケチつけるわけでしょ? ;-)
0172デフォルトの名無しさんNGNG
すでに死んでるコンパイラーだからなあ > VC
0173デフォルトの名無しさんNGNG
私はVCなんか使ってないです ;-(
0174デフォルトの名無しさんNGNG
でも、VC++.NETの新しいのがこの正月に出るだろ?
あれでは、ちょっぴりだけ標準機能に対応したといううわさだぞ
0175デフォルトの名無しさんNGNG
手遅れです。蘇生はもはや不可能かと ;-)
0176デフォルトの名無しさんNGNG
すでに死んでるコンパイラーはもうどうでもいい。
0177デフォルトの名無しさんNGNG
LonghornではC死滅しちゃうしな。
かろうじて低レベルで最下級で下品なコーダが下品なコードを記述するのに使われるだろうけど。
0178デフォルトの名無しさんNGNG
で、日下部本って、ぶっちゃけどうなのよ?
読みやすい? ためになる?
0179デフォルトの名無しさんNGNG
>>178
void of all usefulness
0180デフォルトの名無しさんNGNG
なるほど。いい本なのか
0181デフォルトの名無しさんNGNG
標準C++ってナに?ストラウストラップ?未だに
開発ツールにこだわっているやつがいるんだ。
そんなSEとかプログラマーはイラネー
0182デフォルトの名無しさんNGNG
標準とツールがどうかんけいするんだ ぼけ
0183デフォルトの名無しさんNGNG
>>181
>そんなSEとかプログラマーはイラネー
お前社長か?どうせ糞プログラマーに過ぎねー癖に偉そうな口叩いてんなよ(プ
0184デフォルトの名無しさんNGNG
目くそ鼻くそで言い合うのはやめなさい。見苦しい ;-(
0185デフォルトの名無しさんNGNG
今更だが出来るだけ見たまんまな感じにしてみた
これ見て分からないやつはいないだろう
int main(void)
{
  int c;

  while ((c = getchar()) != EOF) {
    putchar(c);
    if (c == ' ') {
      while ((c = getchar()) == ' ')
        ;
      ungetc(c, stdin);
    }
  }
  return 0;
}
0186デフォルトの名無しさんNGNG
ungetを使うのはアルゴリズム的に美しくない
0187デフォルトの名無しさんNGNG
同感
0188デフォルトの名無しさんNGNG
関数を一つ作るだけで、ずっと美しくなると思う。

#include <stdio.h>

void SkipSpace(void)
{
  int c;

  while ((c = getchar()) == ' ')
    ;
  ungetc(c, stdin);
}

int main(void)
{
  int c;

  while ((c = getchar()) != EOF) {
    putchar(c);
    if (c == ' ')
      SkipSpace();
    }
  return 0;
}
0189デフォルトの名無しさんNGNG
だれか512×256の画像データをフーリエ変換するプログラム作ってください。。。
0190デフォルトの名無しさんNGNG
>>189
作るには情報不足です
0191デフォルトの名無しさんNGNG
>>190
8次でいいです。
そこまで言ったんだからさっさと作ってください。
0192デフォルトの名無しさんNGNG
> ungetを使うのはアルゴリズム的に美しくない

いや、むしろ美しい。
フラグとか使うやつはぼけ
0193デフォルトの名無しさんNGNG
>>189
画像データのフォーマットが不明だと作れんということもわからんのかと。
しかもスレ違い。その頼み方じゃどこに行っても駄目だろうが(藁
0194デフォルトの名無しさんNGNG
>>193
あんた資格何もってる?
0195デフォルトの名無しさんNGNG
調理師なら
0196デフォルトの名無しさんNGNG
いいね。俺もそう言う生きていくのに必要なのほしいなぁ。
0197デフォルトの名無しさんNGNG
2種免許…_| ̄| ...○
0198デフォルトの名無しさんNGNG
>>197
いいね、漏れもそういう生きていくのに無駄なのほしいなぁ。
0199デフォルトの名無しさんNGNG
ソムリエは?
0200じっちNGNG
http://pc5.2ch.net/test/read.cgi/gamedev/1103636571/
0201デフォルトの名無しさんNGNG
>>199
それは日下部
0202デフォルトの名無しさんNGNG
あ
0203デフォルトの名無しさんNGNG
>>165
VCでは一応用意されているが。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vcedit/html/vcoriccompilerlinkerclanguage.asp
> long long 型は、__int64 の typedef として使用できます。
> 詳細については、「Fundamental Types」を参照してください。
> CRT では、long long はまだサポートされていません。
0204デフォルトの名無しさんNGNG
int main(void)
{
  int i1 = 1;
  int i2 = 0;
  int i3 = 0;
  int i4 = 0;
  int i5 = 1;

  if (i1 || i2 || i3 || i4 || i5) printf("OK\n");

  return 0;
}

こういう時って i1 が真だったら残りの i2 i3 i4 i5 は
評価されないのですか?
0205デフォルトの名無しさんNGNG
ない
0206デフォルトの名無しさんNGNG
されない
ショートサーキットでググれ
0207204NGNG
レスありがとうございます。
ショートサーキット、ググりました。少し勉強になりました。
0208デフォルトの名無しさんNGNG
っていうか常識
0209デフォルトの名無しさんNGNG
おまいら今年も今日で終わりですよ。
0210デフォルトの名無しさんNGNG
あと1か月以上あるじゃん
0211デフォルトの名無しさんNGNG
現実逃避してる
0212デフォルトの名無しさんNGNG
イスラム教徒なんだろ、たぶん。
0213デフォルトの名無しさんNGNG
時代遅れ
0214デフォルトの名無しさんNGNG
チャンコロかもしれない
0215デフォルトの名無しさんNGNG
日本人ならふつうの正月だろ。元日は新月にきまってるんだよ。
0216デフォルトの名無しさんNGNG
C#の質問なんですがインストールガイドなどのサイトをみているとIISのインストールがWindowsXPHomeEditionではいれられません。
WindowsXPではVisualStdio.Net C#って入れられないんですか?
0217デフォルトの名無しさんNGNG
>>216
タイトルを良く見ろ
お前なんて誰も望んでないんだ
必要ないんだよ
つまり、スレ違い
0218デフォルトの名無しさんNGNG
216
proじゃないとね
0219デフォルトの名無しさんNGNG
> WindowsXPHomeEditionでは
> WindowsXPでは

別物ですね。質問の途中で話をすり替えてはいけません。
0220デフォルトの名無しさんNGNG
>>204
そもそもその例では評価しようと評価しまいと結果は同じじゃん。
もっと意味のある例を出せ!
0221デフォルトの名無しさんNGNG
C言語のAPIってどこで調べられるんですか。
というかリファレンスは存在するんですか。
0222デフォルトの名無しさんNGNG
>>221
一応マジレス
http://www.bohyoh.com/CandCPP/C/Library/index.html
0223Rubyist!NGNG
man 3
0224デフォルトの名無しさんNGNG
>>221
msdn
0225デフォルトの名無しさんNGNG
> C言語のAPIってどこで調べられるんですか。

そんなものはない
0226デフォルトの名無しさんNGNG
よって、222と223ははずれ
0227デフォルトの名無しさんNGNG
>>222-224
こいつぼけ
0228デフォルトの名無しさんNGNG
頭が悪いのか、常識がないのか。
0229デフォルトの名無しさんNGNG
みんなぼけ
0230デフォルトの名無しさんNGNG
数学、複素数、ワイド文字入出力、ワイド文字操作を除いた
残りの118個の関数ぐらいは、暗記してるようじゃないとだめ!
マニュアルなんか見ちゃだめ!
0231デフォルトの名無しさんNGNG
abort abs asctime assert atexit atof atoi atol
bsearch
calloc clearerr clock ctime
difftime div
exit
fclose feof ferror fflush fgetc fgetpos fgets fopen fprintf fputc fputs fread fr
ee freopen fscanf fseek fsetpos ftell fwrite
getc getchar getenv gets gmtime
isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper
isxdigit labs
ldiv localeconv localtime longjmp
malloc memchr memcmp memcpy memmove memset mktime
perror printf putc putchar puts
qsort
raise rand realloc remove rename rewind
scanf setbuf setjmp setlocale setvbuf signal sprintf srand sscanf
strcat strchr strcmp strcoll strcpy strcspn strerror strftime strlen strncat str
ncmp strncpy strpbrk strrchr strspn strstr strtod strtok strtol strtoul strxfrm
system
time tmpfile tmpnam tolower toupper
ungetc
va_arg va_end va_start vfprintf vprintf vsprintf
0232デフォルトの名無しさんNGNG
こいつぼけ
0233デフォルトの名無しさんNGNG
たしかにどれも1度は使ったことある関数だなあ。
0234ageNGNG
CUIが多いがな・・・
0235デフォルトの名無しさんNGNG
なにいってんのこの人?馬鹿?
0236デフォルトの名無しさんNGNG
年末だというのに香ばしいやつがいるな…
0237デフォルトの名無しさんNGNG
こいつぼけ
0238デフォルトの名無しさんNGNG
虚構と現実が混じりあうスレ
0239デフォルトの名無しさんNGNG
> CUIが多いがな・・・

Cの標準関数にGUIのものがあると思い込んでいるぼけ
こいつもVC厨!
0240デフォルトの名無しさんNGNG
日下部先生の本のサンプルプログラムに出てくる標準ライブラリー関数の数を数えてみました。

59 printf
47 fprintf
43 exit
25 fopen
25 fclose
23 fgets
19 fputc
17 fputs
12 strlen
10 free
9 strcpy
8 strcmp
8 fgetc
6 malloc
6 tolower
4 striccmp
4 qsort
4 isdigit
3 strstr
3 putch
3 islower
2 getchar
2 atoi
1 putchar
1 cprintf
初心者向きでバランスいいですね。
0241デフォルトの名無しさんNGNG
↑putchやcprintfはちがうだろ!
0242デフォルトの名無しさんNGNG
古いCの256本でも同じような事やってたよな。
たしか一位はexitだったか……
0243デフォルトの名無しさんNGNG
scanfやgetsがでてくる本はだめだね。
0244デフォルトの名無しさんNGNG
striccmpなんてのもないぞ!

ってことは合計22個、getchar/fgetc、putchar/fputc を同じだということに
してしまえば、「たった20個」おぼえれば、そこそこコーディングできるって
ことだな。
0245デフォルトの名無しさんNGNG
20個を並べ換えると、
fopen fclose fputc fgetc fgets fputs printf fprintf
strlen strcpy strcmp strstr
isdigit islower tolower atoi
malloc free
qsort exit
ってことか。
0246デフォルトの名無しさんNGNG
やっぱCってもうダメだね
0247デフォルトの名無しさんNGNG
今20世紀はRubyの時代になるだろうね。
0248デフォルトの名無しさんNGNG
2chの法則:
根拠をのべずに「〜だ」「〜だろう」と書いてあるものは
すべて後ろに「だということにしたい」をつけて読むと正しい意味になる。
0249デフォルトの名無しさんNGNG
tukkomutokorohasokokaiw
0250デフォルトの名無しさんNGNG
今20世紀はRubyの時代になるだろうね。だということにしたい
0251デフォルトの名無しさんNGNG
VCはすばらしい
0252デフォルトの名無しさんNGNG
だということにしたい
■ このスレッドは過去ログ倉庫に格納されています