C言語なら俺に聞け! Part 76
レス数が1000を超えています。これ以上書き込みはできません。
0001v(^o^i)d
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
コンパイラを探しているなら >>2-13 を。
上記を逸した場合の結果は激しく未定義だYO!
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンクは>>3-20あたり(誰か適当に貼って)
C言語なら俺俺に聞け! Part 75
http://pc5.2ch.net/test/read.cgi/tech/1079331297/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0002デフォルトの名無しさん
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
【ライセンスや機能などに問題あり】
Microsoft C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGhttp://nssearch.hp.infoseek.co.jp/clang/
0005デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1080010285/
0006デフォルトの名無しさん
NGNG初心者には使う理由が見当たりません。
0007デフォルトの名無しさん
NGNG構造体を
struct MyStruct A,B;
とかでなく、
MyStruct A,B;
って感じで宣言できるようになることなど.
0009デフォルトの名無しさん
NGNGモツ
0010デフォルトの名無しさん
NGNG> C言語なら俺俺に聞け! Part 75
これはわざとか?ともあれ乙。
0011デフォルトの名無しさん
NGNGいやコピペして番号を修正しただけ。
気づかなかった・・・
0012デフォルトの名無しさん
NGNGただしい引数で関数を呼んでコンパイルエラーになったらたまらん。
0013デフォルトの名無しさん
NGNGなにがしたいのか良く分からんが。なんとなく sizeof(bar->hoge) と書いておく。
ちっとは進化しろ。
0014デフォルトの名無しさん
NGNG>はOKということですか?
Yes.
これはメモリに展開しているhogehogeの先頭アドレスからsizeof(*bar)バイトに'\0'が代入される
0015デフォルトの名無しさん
NGNGmemset(bar, '\0', sizeof(bar));
printf("bar->hogeの値は[%s]です。", bar->hoge); /* 初期化されてない */
>まず、以上のコードでは、Hoge型の変数hogeの内容は初期化されませんか?
されます。sizeof(Hoge *)分だけ。
>sizeof(Hoge)
>とすればよいのでしょうか?
よい。
sprintf(bar->hoge, "%d", i); /* コピーされない */
printf("bar->hogeの値は[%s]です。", bar->hoge);
>sprintfが反映されないのは何故でしょうか?
反映されるが何か?
0016デフォルトの名無しさん
NGNGすみませんが教えてください。
C++5.5のコンパイラでC言語を打ちコンパイルすることは
できますでしょうか?
0017デフォルトの名無しさん
NGNGC++5.5ってなに?BorlandC++と書かないとわからんぞ。
0018デフォルトの名無しさん
NGNGいっぱいありますよ。
C++をコンパイルできるくせに、Cの複合定数をエラーにしてしまったり、
拡張子を.cにしたとたん、関数の先頭以外のint i;をエラーにしてしまうような
コンパイラーは「Cをコンパイルできる」とはいわないでしょ。
> C++5.5ってなに?BorlandC++と書かないとわからんぞ。
5.5というえばBorandのより有名なやつがありますね。そっちのことでしょう。
0019デフォルトの名無しさん
NGNGコンパイラーでは打つことはできませんね。
それに打つのは「C言語」ではないでしょう。
0020デフォルトの名無しさん
NGNG> 拡張子を.cにしたとたん、関数の先頭以外のint i;をエラーにしてしまうような
はぁ ? 当たり前だと思うが。
0021デフォルトの名無しさん
NGNG拡張子を.cにすればいい
0022デフォルトの名無しさん
NGNG世間では C99 未対応というだけでは
「Cを理解できないコンパイラ」とは呼ばない。
0023デフォルトの名無しさん
NGNG> 拡張子を.cにしたとたん、関数の先頭以外のint i;をエラーにしてしまうような
それが普通ですが
0024デフォルトの名無しさん
NGNG言い出したら「Cを理解できるコンパイラ」は1つもないな
0025デフォルトの名無しさん
NGNG何だかキモいコンパイラだな
0027デフォルトの名無しさん
NGNGはぁ、"俺規格" 至上主義の方ですか。。。
0028デフォルトの名無しさん
NGNG俺規格でもC99でもなくてもブロック内変数は使えるが?
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGどんな内容であれ、その論拠が
うちのはちゃんとできる
では、俺規格と言われても仕方がないと思うが?
0031デフォルトの名無しさん
NGNGブロック内変数をエラーにするコンパイラを教えてくれ。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG出てくる言葉…それが
「春だな」
0035デフォルトの名無しさん
NGNGint a;
for(int i = 0; i < 10; i++) /*C++で保証*/
;
int b;/*C++で保証*/
for(a = 0; a < 10; a++){
int x = 0/*CでもC++でも保証*/;
x += a;
}
return 0;
}
0036ビル・ジョブス
NGNGC99で一番便利な機能拡張は可変個の引数を持つマクロが定義できるようになったことかな?
皆さんはどう思われますか?
0037デフォルトの名無しさん
NGNG引き数全体を括弧で括ればなんとかなるけどね。
で、ぼけぼけの>18はどこ行った?
0038デフォルトの名無しさん
NGNGそれもいいけど、__func__ もね。
0039デフォルトの名無しさん
NGNG識別子にマルチバイト文字
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG正直それはいらんわ。
0042デフォルトの名無しさん
NGNGそれぞれのトークンを1行ずつ出力するプログラムをつくろうと下のようにしてみました。
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
char buf[1024];
char *ptr;
if(argc<=1){
fprintf(stderr, "argment error\n");
exit(-1);
}
strcpy(buf, argv[1]);
if((ptr=strtok(buf, ";"))==NULL){
fprintf(stdout, "%s\n", buf);
}else{
while(ptr!=NULL){
fprintf(stdout, "%s\n", ptr);
ptr=strtok(NULL, " ");
}
}
exit(0);
}
0043デフォルトの名無しさん
NGNGCでも使えるだろうが > ぼけ
004442
NGNGそうすると
abc
bash: cde: command not found
bash: efg: command not found
となっちゃいます。
どこが変なんですか?
0045デフォルトの名無しさん
NGNG当然Cでも使える。通らないコンパイラーで「Cに対応している」とはいわん。
0046デフォルトの名無しさん
NGNG空白あけろよぼけ。わざわざつめるな。
if (argc <= 1) { だろ
0047デフォルトの名無しさん
NGNG悪いことはいわんからセミコロン ; ではなくコロン : でやってみて。
0048デフォルトの名無しさん
NGNG基礎からやりなし!
っていうか、そもそもおまえはどんな本を読んで勉強したんだ。本の名前を書け。
004942
NGNGできますた
0050デフォルトの名無しさん
NGNG多分
$ ./a.out abc;cde;efg
とかやってるんだろうな...。
bash について勉強した方がいいよ。
そのままでは、a.out には abc しか渡っていない。
あと、なんで二回目以降の strtok() 呼び出し時のデリミタが空白なんだ ?
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG「;」が含まれるパラメーターの渡し方を教えるほうが正当。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG分かっていてからかっているんだろ。明らかにネタだしな。
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGいや、指摘するほうが知らなかったとみた。
0058デフォルトの名無しさん
NGNG知らなければセミコロンが問題だと分からないと思うが。
0059デフォルトの名無しさん
NGNG問題は知ってる奴が常に解決策を知ってるわけではないと思うが。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGargvが書き換え可能だと知らないからでは。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG>>45
それではBCCはCには対応してないってことでつか?
0064デフォルトの名無しさん
NGNGCPUia32-eのマシン(AthlonAMD64)
OSに、fedora core1(kernel2.4系)
コンパイラgcc-3.3.2-1.x86_64
で、64bit版のCのソース書くことになったんだけど、
longが4バイト → 8バイトに変わる以外、何か
気をつけることってありますか?
0065デフォルトの名無しさん
NGNGSELECT * FROM TBL
WHERE A = :A;
LIKEを使ったWHERE条件に変えたいんですが
SELECT * FROM TBL
WHERE A LIKE ':A%'
としても動いてくれません。
埋め込みSQLでLIKE文は使えないんでしょうか?
0066デフォルトの名無しさん
NGNGマルチはやめろ、ヴォケ。
最低でも、
***すれ立てるまでもない質問はここで 第53刷***
http://pc5.2ch.net/test/read.cgi/tech/1081170910/124
に答えてからにしろ。
----------------------------
【SELECT * FROM TBL】の検索
C言語なら俺に聞け! Part 76
http://pc5.2ch.net/test/read.cgi/tech/1081597375/65
C言語なら俺に聞け! Part 75
http://pc5.2ch.net/test/read.cgi/tech/1079331297/953
***すれ立てるまでもない質問はここで 第53刷***
http://pc5.2ch.net/test/read.cgi/tech/1081170910/123
【3 件見つかりました】
0067デフォルトの名無しさん
NGNGすっげぇ。それいいな、何使ってンの?
0068デフォルトの名無しさん
NGNGOpenJane α 0.1.8.2
ログから検索で検索する。
タイトルしか出ないから、結果には手を加えているけどね。
普通にやると
-----------------------------------------
【SELECT * FROM TBL】の検索
PC等 [プログラム] C言語なら俺に聞け! Part 76 65
PC等 [プログラム] ***すれ立てるまでもない質問はここで 第53刷*** 123
PC等 [プログラム] C言語なら俺に聞け! Part 75 953
【3 件見つかりました】
-----------------------------------------
と言う感じ。
あと当然ながら、自分が見ていないスレは検索対象外となる。
0069デフォルトの名無しさん
NGNG0070↑
NGNG0071デフォルトの名無しさん
NGNGこいつはぼけ。このコードでなんでargvを書き換える必要があるんだ?
もしかしてbufにコピーしたあとのbufやbufの指す内容に書き換えがあると
でも思ってるのか?
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGstrtok() の仕様も知らないで煽ってるつもりなのか ?
0074デフォルトの名無しさん
NGNG・・・・・・・・・・・・・・ぼけ
↑
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGa=b++;
でaに0が代入されるのはどうしてですか?
++演算子の方が優先順位(?)が高いから、
b++;
a=b;
と解釈されるんじゃないんですか?
0077デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGそれを説明するのは難しいな・・・
「式の評価」と「副作用」は全く別の作業。
式が評価された "瞬間" に副作用が起こる訳ではない、
とでも言えば分かるかな?
0080デフォルトの名無しさん
NGNGtemp = b;
b = b +1;
a = temp;
と解釈されるだけのことだろ。(temp は、b と同じ型の一時的な変数。)
0081デフォルトの名無しさん
NGNGじゃあその副作用はいつ起こるの?
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGa=bもb++もただの式評価だと思うがどうよ?
0084デフォルトの名無しさん
NGNG>>80にとっては、いつもの事なんです。見逃してあげて。
0085デフォルトの名無しさん
NGNGT increment(T* p){
T tmp = *p;
++*p;
return tmp;
}
と同等。 T は 適当な数値型に読み変えること。
0086デフォルトの名無しさん
NGNGその通り。ただし b++ のように後置の ++ が付いた式の評価値は、
++ する前の値であると決まってる。b自身の値が本当に ++ されて
1 になる(ことが保証される)のは ; の直後から。
b++ という式の評価値と、bそのものの値が変化する(副作用)とを
区別して考える必要がある。
0087デフォルトの名無しさん
NGNGprintf("%d %d", func());
int func(void)
{
int a, b;
a = rand() % 10;
b = rand() % 10;
return a, b;
}
とやってみたんですけどbのほうが1900と表示されます
0088デフォルトの名無しさん
NGNG無理です
0089デフォルトの名無しさん
NGNGっていうか何見て勉強してるんだよ。
本とか参考にしてるなら、その本の名前ぐらい言えよ!
0090デフォルトの名無しさん
NGNG2つ返してどうやって受け取るつもりだったんだろ ;)
カンマ演算子は便利ですが、こういう勘違いをしたやつが書いたコードが
たまたま文法エラーにならないのでおもしろい。
それはともかく2つ返したら3つ返したくなるのでは?
アドレス渡しの変数で返すのはつまんないし、
もしかするとそれはスタック構造にするべきコードなのかもしれんし、
はたまた、実は2つといってもxとyみたいな組の値だったらどう返すべきかわかるよね? (って
だれにきいてんだろ)
0091デフォルトの名無しさん
NGNG>bのほうが1900と表示されます
と言われても困る。
0092デフォルトの名無しさん
NGNG優先順位と実行順序を混同してはならない
>>86
後置と単項は優先順位が異なっている
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGたぶんrand()は関係ない。
>printf("%d %d", func());
だってこれだもん↑
0095デフォルトの名無しさん
NGNGCFAQ3.2でも同じようなこと書いてあったから、
その通りだと思うんだけど、
> b自身の値が本当に ++ されて
> 1 になる(ことが保証される)のは ; の直後から。
b自身の値が更新されるのは、;以前のどこか、ってことになるよね。
すると、"b++"が評価されて、bの値がすぐ更新されてもおかしくない
と思うんだけどどう?
0096デフォルトの名無しさん
NGNG少なくとも優先順位の観点に於いて後置は単項ではない >真・ぼけ
0097デフォルトの名無しさん
NGNGはぁ ? じゃ、お前は一時変数使わんと説明してみな。
0098デフォルトの名無しさん
NGNGb=b+1
0099デフォルトの名無しさん
NGNG> すると、"b++"が評価されて、bの値がすぐ更新されてもおかしくない
それでも、b++ の結果は +1 される前の b の値であることが処理系によって保証される。
と決まっているんだから、そう覚えろ。
0100デフォルトの名無しさん
NGNGおかしくないと思います。
; に至るまでの間に b に副作用が起こらなければならないので、
b が 1 になっていることが "保証される" のは ; 以降という
意味です。分かりにくかったかもしれません。
0101デフォルトの名無しさん
NGNGこの話の流れの中でマジで書いてるのか ?
頼むからネタだと言ってくれ。
0102デフォルトの名無しさん
NGNGところでお前、こういう文についてどう思う?
int i = 0, b[] = {1, 2, 3};
i++ = b[i++];
i には一体何が入っているべきなの?
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG代入できないエラー。おしいね、b[i++] = i++ なら動いたのに。
0105デフォルトの名無しさん
NGNG> おしいね、b[i++] = i++ なら動いたのに。
ばーか、動くわけねー
かも知れないよ。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG分かったサンクス。
> b++の結果〜
そういう決まりがちゃんとあったんだ。
0108デフォルトの名無しさん
NGNGint x;
int y;
};
struct gouman func(void){
struct gouman a;
a.x = rand() % 10;
a.y = rand() % 10;
return a;
}
どうしても2つ返したいなら構造体を使う手もある
まあ普通は
void func(int *a, int *b){
*a = rand() % 10;
*b = rand() % 10;
}
だな。
0109デフォルトの名無しさん
NGNG質問させてもれいます。
main関数で最後にreturn 1と、0以外が返ると
どうなるのか分かりやすく教えてください。
0110デフォルトの名無しさん
NGNG> return 1と、0以外が返ると
> どうなるのか
すみません、この辺りの日本語の意味が分かりません…
0111デフォルトの名無しさん
NGNGexit() の引数に値を指定したのと同じことになる。
そのプログラムを起動した側が参照することができるかもしれない。
たとえばバッチファイルの ERRORLEVEL とか。
0112109
NGNGと返してるところをreturn 1;のように返したらということです。
0113デフォルトの名無しさん
NGNG環境bashにおいて
mainの戻り値が0なら
echo $?
で0が出てくる。
mainの戻り値が1なら
echo $?
で1が出てくる。
0114デフォルトの名無しさん
NGNGそのプログラムをsystem関数で実行して戻り値を調べてみな。
環境によっては変わるから。
0115デフォルトの名無しさん
NGNGそういう時は胸に手を当てることからはじめる。
0116デフォルトの名無しさん
NGNGbashとか出してきている人もいるんだから環境依存なことを言ってもいいじゃん。
0117デフォルトの名無しさん
NGNGごめん。
>>114は、誤爆なんだわ。
すまんの。
0118デフォルトの名無しさん
NGNG>>115が、誤爆。
0119デフォルトの名無しさん
NGNG0以外を返すと警告が出る環境もある。
いずれにしても、環境依存だな。
0120デフォルトの名無しさん
NGNGその理屈で行くと、
「人を殺すヤツが居るんだから、オレも人を殺してもいいだろう」
って事になる。
そんな理屈が通ると思っているのか?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGそれ、うちの母です。
0123デフォルトの名無しさん
NGNGmain()からの戻り値をどのように使うかは使用するOSによって異なります。
例えば、あるOSでは戻り値が 0(retrun 0;)の時は正常終了、
戻り値が 0以外(return 1;等)の時は異常終了と見なされます。
この戻り値を一切無視するOSもあります。
UNIX系のOSではシェルスクリプトというプログラムを書くことで
この戻り値を使うことが出来ます。
MS-DOS(コマンドプロンプト)ではパッチというプログラムで
同じように使えます。
Windowsでも戻り値を返すことは出来ますが、
これを利用したプログラムを私は見たことがありません。
シェルスクリプトもバッチもCとは異なるプログラム言語ですので
後でこれら(あるいは貴方の使用しているOSでこれに相当する機能)
を学習するまでは「main関数は、return 0; で終わる」と覚えてお
けばいいと思います。
0124デフォルトの名無しさん
NGNGint *p=func();
printf("%d %d", *p, *(p+1));
int *func(void)
{
static int v[2];
v[0] = rand() % 10;
v[1] = rand() % 10;
return v;
}
でどう?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGプロンプトがつながるぞ ぼけ
0127デフォルトの名無しさん
NGNG感動した。
0128デフォルトの名無しさん
NGNGstaticならローカルでも、関数の戻り値にそのアドレスを与えられるものなの?
0129デフォルトの名無しさん
NGNGなんでautoだと駄目なのか調べてみれば分かる。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGp=func();
printf("%d", p[0]);
q=func();
printf("%d", p[0]);
printf("%d", q[0]);
0133デフォルトの名無しさん
NGNGなんて返しませんな。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG\
(・(H)・)クマー
0136デフォルトの名無しさん
NGNG/*
intbase.c
Inputs and displays integer values in selected bases.
- input bases are decimal, octal, hexadecimal.
- display bases are decimal, octal, hexadecimal, and binary.
*/
#include <ctype.h>
#include <stdio.h>
#include <string.h>
/* no other #include statements are allowed */
#define MAXCHARS 34 /* maximum length of value string, in chars */
/* enumeration constants to identify menu choices */
enum choice { enter, decimal, octal, hex, binary, quit };
/* prototypes for required functions. don't use printf, scanf, or other similar */
enum choice menu(void);
int getInteger(void);
void putDecimal(int value);
void putOctal(int value);
void putHex(int value);
void putBinary(int value);
/* optional: any other function prototypes */
/* implement main, followed by the other functions */
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG丸投げイクナイ。てかプロトタイプしか定義してねぇじゃねえか。
完成させてくださいってより始めからから作ってくださいだろ。
0139デフォルトの名無しさん
NGNGバカじゃねーの氏ね。
0140デフォルトの名無しさん
NGNGchar なんとか[] = "0123456789ABCDEF";
char 結果[];
while ( 数 ) {
結果[ その桁 ] = なんとか[ 数 % 基数 ];
数 /= 基数;
桁++;
}
while ( 桁-- )
putchar( 結果[ 桁 ] ) ;
のようなものが、いま読んでる本にかいてある。
0141デフォルトの名無しさん
NGNGプロトタイプは定義するもんじゃないよん。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGいや、かわいいよ。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG釣りだとは思うが。。。
2進数表示以外はprintf()でできるダロ
ってprintf()は使うなってか・・・sprintf()もダメなのか?
それもダメならitoa()とかどうよ?
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG2進定数は0b〜でサポートしてる処理系があるみたいだね。
結構便利だと思うから標準でサポートして欲すぃ。
0148デフォルトの名無しさん
NGNGdouble形 って union 出来ませんか?
0149デフォルトの名無しさん
NGNG普通にできると思うけど
0150デフォルトの名無しさん
NGNG今度会社でC++を使う事になりました。
そこで同じソフトバンクの新C++言語入門を買おうとしたんだけど
上巻と下巻があって上巻はほとんどCと変わらないって話・・・
C言語版持ってる人間が上巻を買う必要あるんでしょうか?
0151デフォルトの名無しさん
NGNG自分で判断汁
0152デフォルトの名無しさん
NGNG本屋で立ち読み。
どうせ本屋にそれぞれ置いてあるだろうし、その場で比べてみたら?
0153デフォルトの名無しさん
NGNGs/たんだけど/たのですが/g
0154デフォルトの名無しさん
NGNG1行読んで、必要ならばその内容を変えて、
そしてまたその行に書き込むということをやりたいのですが、
最初に書き込んであったバイト数より、変更後のデータが大きくなると、
次の行のデータの上に上書きされてしまいます。
これ、上書きではなくて、挿入みたいなことはできないんでしょうか?
0155デフォルトの名無しさん
NGNGできない。
メモリー上で操作して上書きしる。
0156154
NGNGそうですか・・・
じゃあ、元のデータよりバイト数が減るのは?
最初のテキストファイルの、データの後ろに、
変更後に増えるかもしれないバイト数分の空白を入れておいて、読み込み、
fprintfで変更後のデータ+改行を入れたら、きちんとなりますかね。
訊く前に試してみろと言われるかもしれませんが、
宿題の中のほんの一部なので、他にも色々やる事があって、ちょいと時間がないもので・・・
0157デフォルトの名無しさん
NGNGint main(void){
int y;
char *x;
のようであると、コンパイル通りません。しかし、文字型のポインタの
宣言を一番上で宣言するとコンパイル出来ます。
なぜなんでしょうか。
0158デフォルトの名無しさん
NGNGならない
0159デフォルトの名無しさん
NGNG問題のソースのそのまま張ってみろ。
きっと何か頓珍漢な事やってるはずだ。
0160デフォルトの名無しさん
NGNG(コンパイラの)仕様
0161デフォルトの名無しさん
NGNGint y=0;
char *x;
scanf("%s",x);
printf("%c\n",x[1]);
printf(x);
printf("%d",y);
}
すいません。コンパイルは出来ました。
これを実行すると、Segmentation faultになるところが
問題でした。なぜなんでしょう。
0162デフォルトの名無しさん
NGNGxは何を指しているのかな?
あとprintf(x);はやめてprintf("%s",x);にしな。
0163デフォルトの名無しさん
NGNGそういうことをやるなら
1つのファイルでやろうしないで、
読み込みファイルと書き込みファイルを分けた方がいいと思います。
例えば、
FILE* rfile=fopen(rfilename,"rb");
FILE* wfile=fopen(wfilename,"wb");
char rbuf[256];
char wbuf[512];
while(fgets(rbuf,sizeof(rbuf),rfile)!=NULL) {
//ここでrbufをwbufに良いように書き換え
fputs(wbuf,wfile);
}
fclose(rfile);
fclose(wfile);
とか。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGました。
xは、文字列を指すポインタです。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG言い換えるか。
xはどこを指しているのかな?
0168デフォルトの名無しさん
NGNGせぐめんてーしょんふぉるとってなんどすか?
0169154
NGNGうう、そうですか・・・ありがとうございます。
>>163
そうですね、やっぱりその方がいいかもです。
ただ、1回の実行時に、何回もその作業をやる可能性があるので、
(2回目のときは、1回目で変更した後のファイルをまた書き換える)
data1.txtとdata2.txtの2つを行き来(?)しなきゃだめですね・・・。
ありがとうございます、その方向でやってみます。
0170デフォルトの名無しさん
NGNGxは文字列が格納されてるメモリを指します。
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGint y=0;
より早く、
char *x;
を宣言するとうまく行くんですがなぜなんでしょう
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNGscanf("%s",x);
ここで。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGたまたま(ネタでもなんでもなく)。
0177デフォルトの名無しさん
NGNGとでもやっておけば良いでしょう。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG確に確保されてないです。
たまたま、int y=0;消すとうまくいっただけなんですね
0180デフォルトの名無しさん
NGNG>ただ、1回の実行時に、何回もその作業をやる可能性があるので、
>(2回目のときは、1回目で変更した後のファイルをまた書き換える)
>data1.txtとdata2.txtの2つを行き来(?)しなきゃだめですね・・・。
まず、元の data1.txt を読み込み用にリネーム汁
んで、data1.txtを書き込みで上書け
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGメンバには出来るけど
メモリは共有されないって事ですか?
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNGなんでそういう疑問が?
メモリは共有される。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGで、うまくゆかないからdoubleは共用体のメンバーに入れられないと思ったわけか。
共用体ってそういうものじゃないよ・・・
0190デフォルトの名無しさん
NGNG>ただ、1回の実行時に、何回もその作業をやる可能性があるので、
>(2回目のときは、1回目で変更した後のファイルをまた書き換える)
>data1.txtとdata2.txtの2つを行き来(?)しなきゃだめですね・・・。
>ありがとうございます、その方向でやってみます。
やるなとは言わないが・・・
最近のPCならそれなりのサイズのファイルでやっても十分速いんだろうなぁ
大量に行の挿入削除をやるのなら、メモリー上でリスト管理するのが正解。
それ以前に頻繁に書き換えるファイルをテキストファイルでやるなと(ry
0191デフォルトの名無しさん
NGNGつーかむしろ大量のメモリを使用する方が最近のPC向きな気がする...
0192デフォルトの名無しさん
NGNG{
double d;
long l;
};
って共用体があって l に値を入れたら d の値は変化します?
0193デフォルトの名無しさん
NGNG>>156もいっているが「訊く前に試してみろ」。
まあ滅茶苦茶になるだろうがな。
0194デフォルトの名無しさん
NGNG変化はするが、その行為に意味があるとは思えない。
0195デフォルトの名無しさん
NGNGあと、浮動小数点フォーマットの構造を利用して
ビットイメージレベルで高速近似演算する手法で使うこともあるけど(笑)
0196デフォルトの名無しさん
NGNGどっちに入れても 0 になるとは言い切れない。
0197デフォルトの名無しさん
NGNGまあ確かにdoubleがIEEE754かどうかも、longが同じサイズかどうかも、
内部表現が2進ベースかどうかも環境依存か。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGちゅーか、処理系依存だからならなくても不思議じゃないっちゃ
0200デフォルトの名無しさん
NGNGlongが64bitな処理系ったらAlpha Linuxとかの64bit処理系?
0201198
NGNG0202デフォルトの名無しさん
NGNGwhile文のwhileってなんて読むんですか?
すごい恥ずかしい質問かもしれませんが
本当にわかんないんです。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGttp://dictionary.goo.ne.jp/voice/w/00100079.wav
0206デフォルトの名無しさん
NGNGこれでwhile文と口で言えるようになりました。
フォワイルかな
0207デフォルトの名無しさん
NGNGこちらでよろしいですか?少し複雑なmemcmpでこまってます
0208デフォルトの名無しさん
NGNG作り方か?
0209207
NGNGレスありがとうございます。使い方で困っています
//最初なのでうまくいく
if (memcmp(ByteInBuff,"Username: ",10) >= 0)
AfxMessageBox("ユーザ問い合わせ表示判定成功");
//ここに間の処理がはいるが割愛
//次にここがうまくいかない
if (memcmp(ByteInBuff,"Password: ",10) >= 0)
AfxMessageBox("ユーザ問い合わせ表示判定成功");
なぜならByteInBuffには前回の"Username: "に今回分の"Password: "がマージされてしまうから
※並び順は安定した値に差異があるので比較バイトサイズを常にByteInBuffからリアルに
とらないと行けない
さてどうしたものが教えてください。
0210デフォルトの名無しさん
NGNGここがわからん。なぜ?
0211デフォルトの名無しさん
NGNGあと自分でもよくわかってない用語を使わない。
0212デフォルトの名無しさん
NGNG0213207
NGNG画面からの入力処理をバッファに記憶させてるのですが
またログに画面の表示内容をかき出す必要があるので改行コードも
含めてマージされたバッファ判定先に使っています。
>>211
最終的にバッファには
"Password: " 改行
ほにゃらら 改行
さらにほにゃらら 改行
"Password: " EOF
という具合になりこのバッファの"Password: "部分を
memcmpにより検索したいなと
0214デフォルトの名無しさん
NGNGもまえ strstr() って知ってるか?
0215デフォルトの名無しさん
NGNG画面は表示するためのものであって、入力装置ではない。
0216207
NGNGstrstrは仕様によりここだけ使えないのです。おかしな話ですがセキュリティ面の仕様上の問題で
それとバッファの大元が構造体なので文字への変換等が複雑になるのを
避けるためです。(初心者がおおいので)
0217207
NGNGもうすこし説明するとエミュレーションを行うソフトなので
画面上の表示部をバッファにおいて制御してます
0218デフォルトの名無しさん
NGNGんじゃ、strchr() だ(w
'\n'を探せ
0219207
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG両者にとって徒労感が漂う脳
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG意味解析させればいいだけの話だと思うのだが、
なぜmemcmpが出てくるのか分からん。
0229E.T&rlo;ービナワ
NGNGちょっと聞いてみたいだけです。
ちなみに僕は中3です。
今年の1月下旬に始めました。
0230AMPERSAND
NGNG0231デフォルトの名無しさん
NGNG大学生になってから C した。
0232デフォルトの名無しさん
NGNGそういう話をすると、くだらない俺語りを始める奴が出るからやめてくれ。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGム板とマ板が何故分かれているのか、
足りない脳味噌が焼き切れるまで考えてください。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGmemcpyやstrcpyはだめなんですか?
2つともだめなの?「後ろにずらす」のがだめなのは、とくにstrcpyではだめっぽいのは
ありがちな実装をかんがえればわかるけど、前にずらすのもだめ(っていうか保証されてない)の?
0238デフォルトの名無しさん
NGNGわたしは2歳のころです。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG「while」って読みます。
わかりますか? もういっかい読みますよ「while」です。
0241207
NGNG小規模な開発なんですが顧客が多少 Cの知識を持っており←いつもこの手の人間が
仕様変更じゃなく設計変更だ!!といってきて足ひっぱります
パスワードをソースでベタ書き処理とかを嫌っている理由から
単にログイン系処理はバイトやメモリ(もちろんポインタも可)を使うように
制限されているのです もっともあんまり意味ないのは100も承知なのですが
ソースを見られてクジャグジャいわれると悲惨なので
とりあえず基本のメモリコンペアに着目した次第であります。
要は積み重なるバイト型のバッファ全体をターゲットに『Password: 』の10バイト分
を検索しメッセージを表示できればOKなのですが
この辺苦手なんですよ。そもそも 私はVB系とこってりMFCなVC専門なので
0242デフォルトの名無しさん
NGNGprintf("入力してください");
scanf("%d",&hoge);
として実行しても、先に入力待ちになってしまって
入力してから「入力してください」が表示されるんですけど、何故でしょうか?
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGfprintf(stderr, "入力してください");
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG私はシステムエンジニア科という学科を学ぶのですが
ここのC言語とは無関係ですか?
一応プログラム板を見てみたのですが、さっぱりです
どの板を見ればよいか教えてください
0247デフォルトの名無しさん
NGNG辞めておいたほうが無難です。
本当にSEで食っていきたいなら 学校より
契約社員でどっか実務積むが吉ですよ。
勉強する気さえあれば学校で習わなくても 基本的な資格取得は可能です
この正解は実務と経験とセンスの有無できまります
0248デフォルトの名無しさん
NGNG答える奴も同類。
0249デフォルトの名無しさん
NGNG正直スマンかった。新卒のこの手の人間が
すぐ辞めるし、意味不明にチーム全体につっかかって来る。
実力が期待できそうな奴も変な知識だけ身につけて無駄な時間を費やしてる
なんとなく救出してあげたいような そんなアドバイスをしてみたくなった
0250デフォルトの名無しさん
NGNGおまえへぼすぎ。
そんなコードかいてどうする。
0251デフォルトの名無しさん
NGNG学校次第だろ。まあたいはんの学校は役に立たないが。
0252デフォルトの名無しさん
NGNG>小規模な開発なんですが顧客が多少 Cの知識を持っており←いつもこの手の人間が
>仕様変更じゃなく設計変更だ!!といってきて足ひっぱります
藻前も同類じゃねぇか
>パスワードをソースでベタ書き処理とかを嫌っている理由から
>単にログイン系処理はバイトやメモリ(もちろんポインタも可)を使うように
>制限されているのです
ソース内には暗号化したパスワードで書いて、
それを復号して比較すれば問題ねぇだろボケ!
基本からやり直せ。
0253r
NGNG比較は「入力されたパスワードを暗号化して」ね。
0254デフォルトの名無しさん
NGNGありがとうございます
もう学校の入学式を終えました・・・
そうですが・・・間違った道を進んでしまいましたか
まぁなるようになります
0255207
NGNG仕方ねえっす 顧客にはさからえませんし
自分のスキルの範囲で思い付くコーディングでなんとかしようと
>>252
それいわれると辛いっすね
ここのあなたたちに比べればウチは皆へっぽこすよ
技術が高度だから思わず会社から出入りしてしまうくらいですから
認めますよ
>ソース内には暗号化したパスワードで書いて、
>それを復号して比較すれば問題ねぇだろボケ!
>基本からやり直せ。
これくらいまで今日明日でBIGになれそうにないので
なんとかmemcmpで対応方とって伝授してくださらないですか?
0256デフォルトの名無しさん
NGNGスキルないならなおさら単純な方を使え
頭切り替えれ
0257デフォルトの名無しさん
NGNG対応法もへったくれもない。
0258207
NGNG0259r
NGNGが、0かどうかをチェックしろ
>>255
0260デフォルトの名無しさん
NGNG目的に合ってないだけ。
適材適所ってのを考えろ
0261207
NGNG>>259
すいません 上記の事情によりこの個所のコードにstrstr等の
文字が含まれるステップはまずいのです。
0262デフォルトの名無しさん
NGNGチャレンジ&レスポンスでやるんじゃなかったっけ。
0263207
NGNGバイト型宣言の変数を元に文字列制御演算子を使わないで
初級Cのノウハウを持っている顧客をだまくらかすには
他にどのような方法があるでしょうか?
色々暗号化等提案はあると思いますが、製造後でバグを出した時に
他の人でも解析可能にしたいのです(うちのチーム内で)
0264デフォルトの名無しさん
NGNG>制限されているのです もっともあんまり意味ないのは100も承知なのですが
あまり意味がないというより、全く意味がない。
そしてこれは理由ではなく、意味不明の戯言。
そんなに使いたくなければ、for文で回して字句解析すれば?
0265デフォルトの名無しさん
NGNG>if (memcmp(ByteInBuff,"Username: ",10) >= 0)
>AfxMessageBox("ユーザ問い合わせ表示判定成功");
ところで、これは比較が一致しなくてもメッセージボックスが出るが仕様か?
0266r
NGNG文字列制御演算しねえ。
言語は何?文字列制御演算子?
その人は「文字列制御演算子」は「危険だ」と思っていて、
「memcmp」は「安全だ」と思っているの?
>262 氏の書くような方法...たとえば、cryptとか、そゆのは
検討してみたか?
どうしてもごまかしたいなら、##を使ってはどうだろうか。
たとえば、s##t##r##s##t##rは、プリプロセッサによって
strstrに置き換わるよ。
0267デフォルトの名無しさん
NGNGstrcmp()もmemcmp()も、やってることに大差ないことは理解しているか?
0268デフォルトの名無しさん
NGNGお前のレベルではバグを出す以前に、まともなプログラムにならない。
そんなものを客に出すつもりなら、これはもう詐欺だろ。
俺が客なら殴るよ。
0269207
NGNG一致した場合にのみメッセージを表示する仕様です。
会社帰りがけにmemcmpでF1押して出てきた説明みて解釈しました。
そもそも 私自身もmemcmpって殆ど使わないんですよ。
まったく同じだった場合 ==0
一部に該当文字が含まれてる場合>= 0
と認識してしまいましたが誤まりですか?
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG禿同。
っていうか、
>他の人でも解析可能にしたい
のなら memcmp() なんて使わないべき。
0272r
NGNG誤り。
memcmpは"大小"を比較するんだよ。
0273r
NGNGというか、「一部に該当文字が含まれてる場合」に
ダイアログを出したかったの?
0274207
NGNG>その人は「文字列制御演算子」は「危険だ」と思っていて、
>「memcmp」は「安全だ」と思っているの?
多分その通りです。。。
>>267
それはじゅうにぶんに
>s##t##r##s##t##rは、プリプロセッサによって
>strstrに置き換わるよ。
これについては初めて耳にしました。一度調べて考えてみます。
0275デフォルトの名無しさん
NGNGgccとかでコンパイルするときに
オブジェクトとライブラリの違いがいまいちわからん
自分でつくったもの=オブジェクト
元からある物=ライブラリ
という認識でいいの?
0276デフォルトの名無しさん
NGNGByteInBuff に "X"だけ入れて実行してみ(w
0277r
NGNGいや、違う。自分でもライブラリは作れるし、
オブジェクトファイルの形で供給されるコードも存在した( はず)。
具体的にどう違うのかは、残念ながら俺は知らない...
(役立たずスマソ)
0278207
NGNGバッファ="Goodmorning" に
比較文字="Good"が存在した場合
メッセージ表示という解釈です。すいませんわかりづらい説明で
0279デフォルトの名無しさん
NGNG用語の使い方によって、字句が同一でも意味が異なる。
0280デフォルトの名無しさん
NGNG藻前、strcmp()も使えてないだろ
0281デフォルトの名無しさん
NGNGオブジェクトをまとめた物がライブラリ
0282デフォルトの名無しさん
NGNG< 0 buf1 は buf2 より小さい。
0 buf1 と buf2 は等しい。
> 0 buf1 は buf2 より大きい。
どこをどう脳内変換したら、そういう解釈になるのか説明してくれ。
0283207
NGNGMFCとかのCString系ならばっちりなんですが。
0284デフォルトの名無しさん
NGNG>一部に該当文字が含まれてる場合>= 0
としても一致してないじゃん。
しかもパスワード本体じゃない文字列になぜセキュリティかけたいのかがわか
らん(しかもセキュリティになってないし)。これでパスが平文だったら元も
子もないよ。
0285デフォルトの名無しさん
NGNGどういうこと?
例えば
cc -o hoge moge.o hage.o -L/home/hoge/lib -lHoge.lib
というのがあったとき
cc -o hoge moge.o hage.o /home/hoge/lib/Hoge.lib
でも同じものができあがるの?
それともエラーが出る?
0286デフォルトの名無しさん
NGNGそれはまさに strstr()。
memcmp() はメモリ内容の大小比較だ。
0288デフォルトの名無しさん
NGNG>MFCとかのCString系ならばっちりなんですが。
(゚Д゚)ハァ?
0289207
NGNGサーチ(探す)
と
コンペア(比較)
という使い分けですね。
0290デフォルトの名無しさん
NGNGてかCをどうやって覚えたんだ?
0292デフォルトの名無しさん
NGNGとりあえずCStringにデータが入っているという前提で、
必要なものを抽出するプログラムは書けると言うことか。
んじゃ、書いてみて。
もちろん、ばっちりだよね?
0293デフォルトの名無しさん
NGNGC も理解しないで何が
>MFCとかのCString系ならばっちりなんですが。
だよ。
0294r
NGNG0295デフォルトの名無しさん
NGNG0296207
NGNGab=探す対象
CSring Str;
str.Format("abcdef");
if (strstr(str,"ab") != 0)
{
キター
}
こんな感じでしたっけ?
0297デフォルトの名無しさん
NGNG質問がマトモから離れれば離れる程レスが付くんですよ。
0298デフォルトの名無しさん
NGNG答えてあげるけど、
それはライブラリのディレクトリを間接的に指定しているか、
直接指定しているかの違いにしか見えないんだけど、
何がしたいのか意味不明。
0299デフォルトの名無しさん
NGNGと言っておいて
>こんな感じでしたっけ?
これはないだろう。
0300デフォルトの名無しさん
NGNG(゚Д゚)ポカーン
0301デフォルトの名無しさん
NGNGそれ自作ライブラリでやったことあるけどエラー出なかったよ。
0302207
NGNG0303デフォルトの名無しさん
NGNG実行ファイルを作るときにオブジェクトとライブラリをがつんと
リンクして作ると思うけど
オブジェクトとライブラリの違いがよくわからん、というのが根本的な質問です
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG一応。どっちの書き方も合法なはず。
-lhogeは-Lで指定されたディレクトリも探しに逝く。
0306デフォルトの名無しさん
NGNGhttp://dictionary.goo.ne.jp/search.php?MT=%A4%D0%A4%C3%A4%C1%A4%EA&kind=jn
0307デフォルトの名無しさん
NGNG「ばっちり聞きかじったことがあります」という解釈でよいか?
0308207
NGNG『この本があれば試験なんて―だ』
おおかたばっちりあってます
0310デフォルトの名無しさん
NGNGバイナリファイルを作った後は
どうすれば良さげですか?
0311デフォルトの名無しさん
NGNG実行する。
0312デフォルトの名無しさん
NGNGインターネットの基本から勉強し直せ。
そしてイタチガイ。
0313207
NGNGそろそろsleepします。
いろいろ助言ありがとうございました。
ではでは
0314デフォルトの名無しさん
NGNG十分すぎるほどよく解った。
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGUnixの場合の例だが、オブジェクトファイルをアーカイブしたものがライブラリだ。
WindowsでもCygwinを使えば同じようにアーカイブされただけのライブラリを利用できる。
例えば、-lfoo と書くと、リンカは libfoo.a からシンボルを探してくるわけだ。
VCなどの、foo.libなどの形式も、本筋では余り変わっていない。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGプログラムをネタに仕事するなよ。
こんな馬鹿に当たった客はたまったものじゃないぞ。
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG一般常識も怪しそうだな
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG雇ってる会社もな
0325デフォルトの名無しさん
NGNG環境に夜。
例えば前者だと使用しているオブジェクトのみがリンクされて
後者だとライブラリの内容全部がリンクされたりするかも試練。
お使いのシステムのマニュアルをよく読んで正しくご利用下さいってんだ。
0326デフォルトの名無しさん
NGNG有能な尻拭い役がいるんだろう
0327デフォルトの名無しさん
NGNG新入社員なんじゃない?
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG自分で組むはめになったのが>>207とか。
0330デフォルトの名無しさん
NGNG新人社員にセキュリティが重要な仕事はまわさないだろう
0331デフォルトの名無しさん
NGNGどうもです
要はとくに意識しなくてもいいってことですかね?
自作オブジェクトとそのオブジェクトが使用している関数の
オブジェクトorライブラリのどちらかがリンクされていれば
問題ないってことなのかな
ちなみにリンクさせるとしたらその.soファイルと
ライブラリのどちらをリンクさせるのがいいのかな?
実行モジュールの大きさとか変わる?
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNGstrhoge() な関数のソースを *BSD あたりの libc から
こぴぺして myhoge() として定義し、それを使えば
ばれないぞ。」
0334デフォルトの名無しさん
NGNGってのはどうだ?
0335デフォルトの名無しさん
NGNGそうなのか・・・
同じソースから出来た.soと.slだったら同じじゃないの?
0336デフォルトの名無しさん
NGNG.so ---- UNIX
.dll ---- Windows
でおk?
0337デフォルトの名無しさん
NGNGUNIXは.slじゃないの?
HP-UXだけ?
0338デフォルトの名無しさん
NGNGHP-UXだけです。
0339336
NGNG0340デフォルトの名無しさん
NGNGありがとうございました
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG早まるな、少なくともまったく一緒ではないぞ。
というかスレ違いなわけだが。プラットフォームにも依存するし。
気になるならこれでも読め。
http://www.amazon.co.jp/exec/obidos/ASIN/4274064379/
0343デフォルトの名無しさん
NGNGその本の原著が
http://www.iecc.com/linker/
にあるんだがRTFのリンクが爆弾マークで笑える。
0344デフォルトの名無しさん
NGNG↓ここが特にわからん。
>バイトやメモリ(もちろんポインタも可)を使うように制限されている
何を言ってるの? 「str〜系の関数が使えない」旨の書き込みがあったけど、その事?
でも mem〜系の関数と同じだよね?
0345デフォルトの名無しさん
NGNG言ってる人も何言ってるかわかってないから気にすることないです。
0346デフォルトの名無しさん
NGNGMFC使いらしいので「バイト」というのは BYTE型の変数だと思われます。
その他は何言ってるか分かりません。
0347デフォルトの名無しさん
NGNG>パスワードをソースでベタ書き処理とかを嫌っている理由から
らしいんだが、そのパスワードをバイト(何のことだ?バッファ?)やメモリ
にどうやって読み込むんだろう。
そもそもメモリを使う以外にプログラムがデータを扱う方法なんてあるのか?
レジスタは使っちゃダメってこと?
0348デフォルトの名無しさん
NGNGたぶんメモリとかレジスタとか言っても何のことだか>>207には分からないんじゃない?
>>344
>何を言ってるの? 「str〜系の関数が使えない」旨の書き込みがあったけど、その事?
>でも mem〜系の関数と同じだよね?
(>>263より抜粋)
>バイト型宣言の変数を元に文字列制御演算子を使わないで
>初級Cのノウハウを持っている顧客をだまくらかすには
>他にどのような方法があるでしょうか?
↑から推測するに、>>207は
「この顧客は c = '0'と c = 48 の区別がつかない」('0'==48と仮定)
と思っている。
だから、char str[] = "0123"; を
typedef char BYTE;
BYTE str[] = { 48, 49, 50, 51, 0 };
として文字列をベタ書きしていないかのように見せかけたい。
(こんなことで顧客がだまされるとはオレには思えないが)
文字列を使ってないってことにしてるんだからstr〜系の関数は使えない。
ということじゃないかな。
0349デフォルトの名無しさん
NGNGなんとなくわかった。char を避けたいんだな。
ってforでまわせば済む話じゃん…しかもセキュリティ上がってないし。
意味のないことを苦労してやろうとしてるのか。
そしてこれだけ混乱させといて本人は帰ってこないヨカーン。
とんだ天然太公望でつね。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG> 「memcmp」は「安全だ」と思っているの?
昔からのCobolerとか、昔からの制御屋とかにかぎらず、
その手の大規模ソフトウェアの開発者はstrほげほげを嫌うんですよ。
'\0'さがしてどこまでもぐるぐる回っちゃうので、バグがでたときに、ハデなので。
でも、memsetやmemcpyだって引数まちがえりゃバグがでることは同じなので、
ようはstr系を怖がるやつってのは「バグはどこかにあるはず」「少しぐらいバグが
あっても見つからなきゃOK」って思ってるんですよ。本音では。逆に言うと、
「バグをなくすことは不可能なんだから、自分が担当しているうちにハデなのが
でなければOK」「ユーザーから目立つバグを言わると責任が重いのでイヤ」って
のが頭にあるんです。
これは20年ぐらい前から同じ傾向ですね。気をつけるべきなのは「str系をこわがって
mem系なら大丈夫」だと考えているやつと同じプロジェクトで仕事すると、バグを
入れ込むのはそいつら、だということです。
0352デフォルトの名無しさん
NGNG> Unixの場合の例だが、オブジェクトファイルをアーカイブしたものがライブラリだ。
> VCなどの、foo.libなどの形式も、本筋では余り変わっていない。
「本筋では」なんて書くのはよくわかってない証拠。実際には「本筋では」どころか
まったく代わりはない。
ちがうのは、アーカイヴの形式がちがうだけ。
古いUnixではarでアーカイヴするが、
MS-DOS系では、古くはlibでアーカイブしてただけ。
前者はテキストでもバイナリーでも汎用で、後者はオブジェクトファイル専用に
使うことが多いこと、形式がそれぞれ独自なこと、前者はアーカイヴァー、後者は
ライブラリアンと呼ばれること、ぐらいの差しかない。あとはまったく同じ。
0353デフォルトの名無しさん
NGNGstr系を嫌って、mem系を安全だという妄想を持ってるやつって、それだけの理由(壊れたときハデ)ではない。
まず、strcpyではナル文字までコピーするのにstrncpyではしないとか、
そのへんがむずかしくて理解できないらしい。
あとは、memcpyだけじゃなくて、領域が重なっててもだいじょぶなmemmoveがあるのに
str系ではそれができない、というのも理由の1つらしい。
わたしはstr系キライじゃないので、両方つかいます。
0354デフォルトの名無しさん
NGNG>そのへんがむずかしくて理解できないらしい。
これはマジですか?知らないやつが使ったらmem系の関数の方が危険じゃん。
0355デフォルトの名無しさん
NGNG人でも使えるからですね。だからそっちを好むぼけが多い現場がいまだにいっぱいある。
で、そういう人間は、たとえば、いろんなフラグを1つのバイトやワードに
まとめてあるときに、0x04とandとって、0x40と比較する、なんてコード
書く傾向があります(もちろん#defineぐらいはしてますが)。
Cのユーザーだともっと便利にやるのに、その方がアセンブラ的に理解しやすいから
らしい。
0356デフォルトの名無しさん
NGNGの集団があるんですね。
0357デフォルトの名無しさん
NGNG0x04と比較するの間違い?
0358デフォルトの名無しさん
NGNGo str系きらってmem系つかいたがらないか?
o 1行でも中括弧「{}」つけろというコーディング規約にこだわってないか?
あたりですね。これらは同じ集団にみられます。
そういうやつって、そのくせ、カッコの内側はあけて、2項演算子の両側はつめるんだよね。
カンマなんか右側をつめて、左側をあけてたりもする。
で、ifやwhileの後ろは空白をつめ、関数名の前はあける...
あ、セミコロンの前をあけたがる傾向もある。
0359デフォルトの名無しさん
NGNGstr系も適切に使い、適切に避けることができる。
バグを避けるという大義名分で行われる「均一化」(その実は、一番レヴェルの低いやつ
にあわせる)は、実はバグを大量に発生させてるわけなんだけど、そのことに気づいて
いなかったり、気づいていても直せない(何か前例のないことをやって責任を負わされる
のをいやがる)ってのは、ここ30年ほど続いているこの業界の悪習なんです。
Cなんかできる以前から続いている体質(悪習)なので、Cが世の中に普及してからも
ちっともかわっていません。わたしが30年前に現場に出たときと同じ。
全国各地の、数百人規模の現場から数人規模の現場まであらゆる体験をしましたが、
そういう悪い習癖はかなりの確率で存在してますねえ。
0360デフォルトの名無しさん
NGNG続きはマ板でどうぞ。
0361デフォルトの名無しさん
NGNGCのbitフィールドつかえってことだろ! それぐらいおれでもわかったぞ。
#define MASK_I_FOOBAR 0x04
#define MASK_I_BARFOO 0x10
...とか30個ぐらいあって、
else if ((foo & MASK_I_FOOBAR) == MASK_I_FOOBAR)
func(a);
else if ((foo & MASK_I_BARFOO) == MASK_I_FOOBAR)
...なんて書いてもコンパイラーはエラー出してくれないんですよ! (あたりまえ)
1bitなら、シフトする方法もつかえるが、まあ2bit以上の場合もかんがえれば、
andとって比較だろうな。
で、1bitの場合なんかは、bitフィールドつかったときの効果が大きい
(すごくみやすくなる)
0362デフォルトの名無しさん
NGNG> カンマなんか右側をつめて、左側をあけてたりもする。
> で、ifやwhileの後ろは空白をつめ、関数名の前はあける...
>
> あ、セミコロンの前をあけたがる傾向もある。
みたことないけど読みづらそう。
for( i=0 ;i<10 ;i++ )
{ memcpy ( str1 ,str2 ,10 ); }
こんなかんじ?
0363デフォルトの名無しさん
NGNGハァ?
>>355の「0x04とandとって、0x40と比較する」に対して言っているんだが。
0x04とandをとったものは常に0か4だろ。それを0x40と比較してどうするんだよ。
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG>その手の大規模ソフトウェアの開発者はstrほげほげを嫌うんですよ。
>'\0'さがしてどこまでもぐるぐる回っちゃうので、バグがでたときに、ハデなので。
例えmem〜()を使っても、文字列系の処理をするためには
'\0'を探さないとstr〜()系の処理は実現出来ない訳だが。
そうなると、さらにやっかいなバグを出す事になる事必死だろう。
# その程度の香具師らではな
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGコンパイルオプションで、−DTESTと宣言するとTESTの値は
コンパイラーによって不定なのでしょうか?
gccでは1が入るようですが。
又、このような状況で #if TEST なんて使うのは邪道ですか?
やはり#ifdef TESTとやるべきですか?
0369デフォルトの名無しさん
NGNG#ifdefを使うべき。
置き換えるものが大事なら-DTEST=3とするだろ。
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG必ず初期化しなければいけないとある本に書いてありました。しかし、
以下のようでも、一応コンパイルも出来て、実行もできました。ここで
疑問に思ったことがあります。なぜ、必ず初期化しなくてはいけないのか
という事です。僕なりの勝手な推測としては、初期化していないポインタに
は意図されていないアドレスが入っていて、そのアドレスがシステムの
何か重要な領域を指している可能性があるとし、その時、そのポインタの指す
領域を書き換えては危険であるから、初期化をいなければいけないとの
推測です。(勝手な推測してすいません。)
本当の所が知りたいです。みなさん、お願いします。
int *p;
*p=10;
printf("p=%p \n",p);
printf("*p=%d \n",*p);
実行結果
p=ffbefbac
*p=10
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG> p には意味のないアドレスが格納されているため
書き込めないこと、アドレスが他のデータと重なっていること等
がありうるからです。
> は意図されていないアドレスが入っていて、そのアドレスがシステムの
> 何か重要な領域を指している可能性があるとし、その時、そのポインタの指す
> 領域を書き換えては危険であるから、初期化をいなければいけないとの
「通常は」書き換えられないようになっているので、危険ではありません。
そんなことで危険だったら恐ろしくて素人にプログラミングなんかさせられません。
0374デフォルトの名無しさん
NGNGなるほど。意図しないアドレスが指す領域が他のデータと重複してしま
う恐れがあるから初期化しなくてはいけないんですね。
理解できました。ありがとうございます。
0375デフォルトの名無しさん
NGNG確保していない領域に勝手にアクセスしてはいけませんよ。
0376371 & 374
NGNG以下のように確保していない領域に勝手にアクセス出来たのは、コンパイ
ラの仕様により偶々アクセスできただけなんでしょうかね?
int *p;
*p=10;
例えば、
char u;
int *p;
*p=10;
ようにポインタの宣言に先立って他の変数を宣言すると、実行で
きないですから。
まぁ、ちゃんとポインタを初期化しろって事ですね。
0377デフォルトの名無しさん
NGNGコンパイラの仕様というよりOSの気まぐれかも
0378371 & 374
NGNGさっき本を見てたら、そんなような事をみかけました。
まぁ、これ以上、深く立ち入らないで、自分の中では解決としておきます。
みなさんありがとう。
0379デフォルトの名無しさん
NGNG暇なので207がやりたかった事を考察してみる。
・ソースコード上に"Username:"と"Password:"とあった事からログイン処理っぽい
・バッファ上の表示文字列と言う表現があった
そこで導きだされる予想としてネット接続されたホストへ自動ログインするプログラム
を作りたいのではないかと言う事。
ズバリftp自動ログインの為のGUIではないかと思うのだ。
正確にはGUIで指定されたユーザーIDとパスワードを使ってftp接続して、ログインの
成功を判定する処理であろう。
そこで諸君には新入社員の>>207 が先輩に絞られている間に、そのプログラムを
完成させて頂きたい。
では、健闘を祈る。
0380デフォルトの名無しさん
NGNG暇な藻前が勝手にやれ
0381デフォルトの名無しさん
NGNGついでに文字列制御演算子とは何かを考察してみれ
0382デフォルトの名無しさん
NGNGmkfifoでパイプファイルを作成するときに
ファイルの上限サイズが32kくらいになってしまいます。
このサイズを変更することはできるのでしょうか?
0383デフォルトの名無しさん
NGNG変数を別の関数で書き換えたい時はアドレスを渡す。
アドレスを渡されるときはint abc(int *px,int *py)のようにする
位の考えでOK?
初心者でスマソ
0384デフォルトの名無しさん
NGNGポインタ本なるものもあるわけで。
OKと思う?
0385デフォルトの名無しさん
NGNG素直に理解すればいいだけでは?
ポインタ変数は変数(入れ物)のある場所(アドレス)を入れる為の変数(入れ物)
他の関数で入れ物(変数)の中身を変えたい時は入れ物(変数)の場所(アドレス)を
ポインタ変数(入れ物)に入れて渡してやらなきゃ書き換えられない
複雑に考える必要はないと思う
0386デフォルトの名無しさん
NGNG素直に人種差別されないようにすればいいだけでは?
0388デフォルトの名無しさん
NGNG素直に理解すればいいだけでは?
0389デフォルトの名無しさん
NGNG素直に作ればいいだけでは?
0390デフォルトの名無しさん
NGNGそんなにややこしくないだろ
0391デフォルトの名無しさん
NGNGUNIXプログラミングスレッドがあるだろ。
閑古鳥だが答える人はいるぞ。
0392デフォルトの名無しさん
NGNG十分ややこしいだろ? 現に専門の本さえある。
0393デフォルトの名無しさん
NGNG↓これぐらいじゃね?
俺的にはなんで道に迷うのかが分からん
素直に地図見ればいいだけでは?
0394デフォルトの名無しさん
NGNG素直に証明すればいいだけでは?
0395デフォルトの名無しさん
NGNG俺には地図も相対性理論も同じぐらいだと思うけどな。
君が地図とポインタが同じくらいだと思うように。
0396デフォルトの名無しさん
NGNG素直に感じればいいだけでは?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNGfifoの上限サイズってなに?32kってどこからでてきた?
0399これが決定打!
NGNG素直に理解すればいいだけでは?
0400あまい!
NGNG素直に理解すればいいだけでは?
0401M-x doctor
NGNGyou are finished talking, type RET twice.
0402デフォルトの名無しさん
NGNGnamespace ex02
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
int[] a = new int[5];//int型の配列宣言
int i,j;//ループカウンタの宣言
Random rnd = new Random();//乱数を使用するためのクラス
for(i = 0;i < 5; i ++)//配列に乱数を代入する
a[i] = rnd.Next(100);//乱数は、100までに設定
Console.WriteLine("?");
for(i = 0;i < 5; i ++)//整列前の数値を列挙
{
Console.Write(a[i]);
Console.Write(" ");
}
Console.Write("\n\n");//改行
0403デフォルトの名無しさん
NGNG{
for(j = i;j < 5; j ++)
{
if(a[i] > a[j])
{
int tmp;//変数同士で交換する
tmp = a[j];
a[j] = a[i];
a[i] = tmp;
}
}
}
Console.WriteLine(?);//整列後の数値を列挙
for(i = 0;i < 5; i ++)
{
Console.Write(a[i]);
Console.Write(" ");
}
Console.WriteLine("\n?");
Console.ReadLine();
}
}
}
C#の課題として出ました。
()内に入る文字がわかりません。
解るか倒しえていただけませんでしょうか。
よろしくお願いいたします。
0404デフォルトの名無しさん
NGNGMy problem is that you are my psychotherapist.
0405402-403
NGNG0406デフォルトの名無しさん
NGNGそもそも何をやりたいか、どの()のことを聞いているのかがわからん
0407405
NGNG失礼いたしました。
(?)となっている3箇所です。
問題は1から100の内ランダムで5個、数字を選び表示。
その後、その5個の数字を小さい順に並び替えるという
プログラムです。
0408デフォルトの名無しさん
NGNG実際そうなってるわけです.
もし、あなたの使っている携帯電話が、誤動作したら、
「ああ、memcpyつかってかえってばぐってたんだろうな」と思ってください。
かなりの確率であたってます ;-)
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNG読み込みを頻繁にすれ。
0411デフォルトの名無しさん
NGNG「POINTERはむずかしい」と暗示をかけられていることです。
実際、むずかしくもなんともなく配列や構造体より簡単な仕組みなのですが、
「ぽいんたーは、むずかしいぞー、ほーらほら、むずかいいだぞー」って感じで
いわれてると、ほんとに難しい気がしてきて、悩むのです。
そういう意味ではvoid氏はPOINTERをさらっとおしえるのがうまいですね。
彼の学生はしっかり理解できてるので、いきなり初見のアセンブラーやらしても平気だし。
Cってのはあるいみ、少し汎用性のある、こじゃれたマクロアセンブラーみたいな
ものですから、そこから入るとアセンブラーもすんなりわかるんですよね。
(もちろん、Cがちゃんと理解できていれば、ですが...。逆に言えば、そのあとに
アセンブラーがすんなり使えるかどうかで、Cが理解できているかどうかの判別に
使えると思う)。
0412デフォルトの名無しさん
NGNG×並び換える
○並べ換える
0413デフォルトの名無しさん
NGNGそもそも「基本」選択法なんていうソーティング方法はありません。
どうみても誤訳です。
0414デフォルトの名無しさん
NGNG同意。
「ポインタが難しい」なんてのは本を買わせるために悪意ある物書きが広めたデマにすぎない。
0415デフォルトの名無しさん
NGNG同じ携帯屋かな?
なぜ携帯のソースはあんなに糞なんだろう??
0416デフォルトの名無しさん
NGNG>(?)となっている3箇所です。
他のところで肝心な処理は済んでるように見えるのだが。これ以上何がしたい
んだ?
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGわたしの書いた部分だけはきれいです。(でバグがいない)
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGほっとけって。
0421デフォルトの名無しさん
NGNGそういう奴に限って他人には読めないソースを書いてる罠
0422デフォルトの名無しさん
NGNGほっとけって。
0423デフォルトの名無しさん
NGNG↓次の方どぞー
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG標準入力をファイルと標準出力に出力する
プログラムを書けばいいと思うけど
シェルでできるスマートなやり方がありそう。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGFIFOファイルのサイズなんてなんで気になるんだ?
0431デフォルトの名無しさん
NGNG0432
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGどうしもないですか?
0436デフォルトの名無しさん
NGNG0437435
NGNG0438435
NGNGBYTE temp;
のtempの値が何もない場合の判定方法をお願いします
シンボル名 temp
値 0x0000 ''
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGvoid main()
{
int n;
char ch;
printf("数字を入力してください--> ");
scanf("%d",&n);
printf("文字を入力してください--> ");
scanf("%c",&ch);
printf("\n\n");
printf("入力された数字は %d です。\n",n);
printf("入力された文字は %c です。\n",ch);
}
これ実行しても数字入力してEnter押した時点で結果まで表示されちゃうんですが。
なんか変なんでしょうか?
0441デフォルトの名無しさん
NGNGとりあえず、日本語を話せと言いたい。
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG(scanf()の)仕様です。
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGみんな分かっている。
0447デフォルトの名無しさん
NGNGかわいそうだからマジレスしてやる。
>BYTE temp;
ANSI C に「BYTE型」と言う型はない。
>のtempの値が何もない場合の判定方法をお願いします
「値が何もない場合」と言うのは存在しない。
スカラ型変数には必ず何かしらの値が入っている。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGマジレスというより意地悪レスだろw
0450ぼるじょあ ◆yBEncckFOU
NGNGこのスレで受け付けますYO!
http://pc5.2ch.net/test/read.cgi/tech/1078157730/
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNGint bourjois[45];
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGそんな配列はいやだ
0458デフォルトの名無しさん
NGNG強制型変換したとき、あるいはその逆をしたとき、
どう扱われるのでしょうか?
これらはコンパイラ依存でしょうか?
0459デフォルトの名無しさん
NGNG>>442 の言うように、
最初の scanf("%d",&n); で 「数字」を
次の scanf("%c",&ch); で 「数字の後に押した Enterキー」を受け取ってるから、
char enterkey; とかやって
scanf("%d",&n); を scanf("%d%c",&n,&enterkey); みたいにして
Enterキーも処理するようにすればいい。
最初の scanf で数字以外の文字を入力されちゃった場合の処理とかもいれたほうがいいよ。
0460デフォルトの名無しさん
NGNGscanf("%c",&ch); の"%の間に空白を入れる、つまりscanf(" %c",&ch);
のようにすれば良い。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG2 の補数表現を使う環境なら、bit 表現が変わらないだろうという頭で、
規格上どうなってるかなんて気にしてなかったから調べてみた。
|ISO/IEC 9899:1999
|6.3.1.3 Signed and unsigned integers
|1 When a value with integer type is converted to another integer type
| other than _Bool, if the value can be represented by the new type,
| it is unchanged.
|2 Otherwise, if the new type is unsigned, the value is converted by
| repeatedly adding or subtracting one more than the maximum value that
| can be represented in the new type until the value is in the range of
| the new type.
|3 Otherwise, the new type is signed and the value cannot be represented in it;
| either the result is implementation-defined or an implementation-defined
| signal is raised.
この場合、2 が適用されるので結果として、
その負数+(unsigned int で表せる値)+1 になる。
後、「C signed unsigned 変換」でぐぐって見つけた参考ページ↓
ttp://www9.plala.or.jp/sgwr-t/c_sub/TypeConversion.html
ttp://okuyama.mt.tama.hosei.ac.jp/unix/C/slide21-1.html
0463462
NGNGまぁ、読めばわかると思うけど、unsigned int → signed int の場合、
表現可能な範囲なら 1 で不変、表現不可能な範囲なら、3 になるので
処理系定義だね。
0464デフォルトの名無しさん
NGNG> 標準出力をコンソール出力しつつファイルへ出力する方法はありますか?
man tee
0465sage
NGNGint main(int argc, char *argv[])
{
FILE *fp;
char ch;
if(argc != 2){
printf("パラメーターが違います。\n");
return 1;
}
fp = fopen(argv[1], "r");
if(fp == NULL){
printf("エラー\n");
return 1;
}
while((ch=fgetc(fp)) != EOF){
putchar(ch);
}
fclose(fp);
return 0;
}
実行するとどうやっても「パラメーター・・・」になります。
実行 − コマンド打って と動かしたいのですがどうすればいいかどなたか教えてください。
よろしくおねがいします
0466465
NGNG0467デフォルトの名無しさん
NGNGどうコマンドを打って実行したのか書けよ。
0468デフォルトの名無しさん
NGNGargc と argv全部 を printf で出力して確認したほうがいい。
Win のことは分からないけど、
Linux でやってると、コマンドでうったもの以外も argv に入る。
0469デフォルトの名無しさん
NGNGargv[0]のことを言いたいのかな?
0470デフォルトの名無しさん
NGNG> 実行 − コマンド打って と動かしたいのですが
最初に実行してから引数与えようとしてない?
0471デフォルトの名無しさん
NGNG何も入っていない事を調べることは無理。
0472デフォルトの名無しさん
NGNGプロジェクトの設定の中にコマンドライン引数を指定する項目があるから、
そこで設定するかコマンドプロンプトを開いて直接打ち込めばOK。
0473デフォルトの名無しさん
NGNGもしくはVCでパラメータを設定したあとに実行(!)
0474デフォルトの名無しさん
NGNG「何も入っていない」のと「不定値が入っている」のとは違う。
0475465
NGNG解決しました。
実行すれば「ユーザーからの入力を待つ」状態になると考えていたので
「パラメーター・・・」はあたりまえのようです・・
質問に答えてくださった方本当にありがとうございました
低レベルな間違いですみませんでした・・(汗
よりいっそう勉強がんばります
0476デフォルトの名無しさん
NGNGいたいよう。。。
0477デフォルトの名無しさん
NGNG上記のコードだと、シンタックスエラーになりargを##argにしないとコンパイル
できません。なぜ可変長引数マクロの場合##演算子をつけないとコンパイルが通らないのでしょうか?
気になって夜もろくに眠れません。御教示の程、宜しくお願い致します。
0478デフォルトの名無しさん
NGNGとりあえず
ttp://seclan.dll.jp/c99d/c99d02.htm#dt19990405
0479デフォルトの名無しさん
NGNGc99は兎も角、古いcには可変長引き数マクロなんてない。
どうせcppは文字列置換しかしないから引き数全体を括弧で括って
一つの引き数と認識させるのが一つの手。
0480デフォルトの名無しさん
NGNGうを、そんな##の使い方があったのか…
頭いいな
0481デフォルトの名無しさん
NGNGこんなことができるからCは嫌だ。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGで、何が言いたいんだ?
それが俺らに何の関係があるんだ??
C嫌いで済む奴の戯言は面白くも何ともない
0484デフォルトの名無しさん
NGNGで、何が言いたいんだ?
もまえはCが嫌いなんだが主張できない理由でもあるの??
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGプ
0488デフォルトの名無しさん
NGNG「yoyoyo」って、泣いてんだよきっと。
0489デフォルトの名無しさん
NGNGホームページはないでしょうか?
0490デフォルトの名無しさん
NGNG>>1
systemとか。
0491デフォルトの名無しさん
NGNGそこまではわかるのですが、
引数の付け方と、フルパスの書き方がわかりません・・・
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG他にも Windows なら ShellExecute()、CreateProcess() 辺りの API と言う方法もある。
この二つにしろ system() にしろ、使い方はググレ。
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG「文字列」か「文字」かの違い
0497デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/visualc/vctoolkit2003/
0498デフォルトの名無しさん
NGNG%c character
と覚えましょう。
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG%dは有符号10進数変換。
%iは有符号8,10,16進数変換。
ってか知ってて聞いてないか?
0502デフォルトの名無しさん
NGNGd int 符号付き 10 進整数。
i int 符号付き 10 進整数。
としか書かれてないが。
しかも一つのフィールド文字で、異なる進数とはどういう意味なんだ?
0503デフォルトの名無しさん
NGNGu 符号なし10進
o 符号なし8進
x, X 符号なし16進(小文字、大文字)
基本の底が10進だから%d(ec)でも%i(nt)でもいいようになってるんじゃないかな。
0504デフォルトの名無しさん
NGNG%i を調べるなら scanf の方を見ないと。
>しかも一つのフィールド文字で、異なる進数
sscanf に "0xA" という文字列を食わせると
%d: 0 ('x' が 10進数じゃないから、その手前までしか読まない)
%i: 10
同様に、"020" を食わせると
%d: 20
%i: 16 ('0' で始まるから 8進数だと判断される)
0505デフォルトの名無しさん
NGNGああ、なるほど。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNGし(c)げおさーーーん。
こんなアダ名の奴が高校の時いた。
0510デフォルトの名無しさん
NGNGポインタの理解に苦しむおっさんです。よろしくです
aaa.cファイル内
int Aproc{
BYTE b;
〜内部コード略〜
}
の変数Bを
bbb.cファイル内の関数
BOOL BProc{
}
の内部処理で値変更をしたいのですが。この場合ポインタ渡しになりますか?
両関数は引数をもっていないのですが
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG{
BYTE b;
BProc(&b);
}
bool BProc(BYTE *pt)
{
*pt=1;
}
引数が使えないならグローバル変数にしてextern汁。
渡したい変数が多いなら、構造体にして渡す。
0513デフォルトの名無しさん
NGNGこれはエラーなんだから、実際に書くときは引数ありなんじゃねーの?
0514デフォルトの名無しさん
NGNG>ポインタの理解に苦しむおっさんです。
ポインタ以前の問題だな
0515デフォルトの名無しさん
NGNG別に値を渡して変更結果を戻り値で貰ってもいいんだが
>BOOL BProc{
>
>}
BProc() の戻り値は (BOOL 型の) 別の何かに使ってるみたいだから
1. ポインタで渡す
2. グローバル変数
のどっちか。但し 2 は激しくお薦めしない。
0516510
NGNGCって難しいですね。ご指摘の通り グローバル変数は使用を見合わせて
引数で対応してみる事にします。
この場合引数に何も値がない場合の処理を判定しないといけないんですが
そこんところもできれば お願いします。
0517デフォルトの名無しさん
NGNG何も値がない、というのは無理。
0518510
NGNG今回呼び出される関数Aはタイマーイベントにより一定の間隔で
常時動いている処理なのです。
で関数Bの処理がある条件を満たした時、臨時的に関数Aを呼びだす仕様なもので
もし 引数式の関数Aに変更する場合は 引数がNULLの場合は通常の値を取得
Not NULLの場合はパラメタ引数として引き継いだ値をもって処理するように
したいのです。Cは私の担当外なもので本ちらちら見たくらいしかスキルありません
どうか無様をお許しください
0519デフォルトの名無しさん
NGNGtypedef struct Word_tag{
char *name;
int count;
struct Word_tag *next;
} Word;
という連結リストの構造体Wordがあったとき、ある要素へのポインタposが分かっているとき、その
要素の次に要素new_itemを挿入するには、
new_item->next = pos->next;
pos->next = new_item;
とする、とある本には書いてあるのですが、どうしてそのようになるのですか?上の二式は暗記するものなのでしょうか?
削除をしたい場合についても同様です。教えてください。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGを
itemA --> pos --> new_item --> itemB
にするわけだから、
new_item->nextに、itemB(つまり元のpos->next)を代入し、
> new_item->next = pos->next;
pos->nextにnew_itemを代入する。
> pos->next = new_item;
0523519
NGNGまだ分かったような分かっていないような感じなので一晩考えてきます。
0524デフォルトの名無しさん
NGNG色の変え方、分かる人がいたら教えてください。
0525デフォルトの名無しさん
NGNGまず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
0526524
NGNGボーランドC/C++とかいう奴です。
0527デフォルトの名無しさん
NGNG210ペイジや306ペイジに図入りでわかりやすく解説してありますよ。
0528デフォルトの名無しさん
NGNG日本語が読めないのですか?理解できないんですか?
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG「ペイジ」という書き方で、どの本のことか分かるな。(笑)
0531デフォルトの名無しさん
NGNG0532524
NGNG0533デフォルトの名無しさん
NGNGnnansi.sysを入れろ
curses.dllを入れろ
終了
0534デフォルトの名無しさん
NGNGはなしし、とか突っ込むべきなのかな
0535デフォルトの名無しさん
NGNG>旅に出ます
寧ろ死ね。
0536デフォルトの名無しさん
NGNGこの質問、なんで一定周期で出てくるの?
もう聞き飽きたよ。
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG毎回同じ奴が聞いてるんだろ。
0540デフォルトの名無しさん
NGNG配列の宣言って、こんな風にするのは駄目なのでしょうか。
↓charの所が、エラー「定数式が必要」となるんです(´・ω・`)
int x;
printf("君は何文字入力したいんだ。整数を入れてくれ\n");
scanf("%d",x);
char hairetu[x++]; /*++は、null文字用*/
printf("そうか、%d文字入力したいんだな。うん。\n",x);
0541デフォルトの名無しさん
NGNGダメ
0542デフォルトの名無しさん
NGNG0543540
NGNGCの勉強し始めてまだ1ヶ月たってないものでして、、なにか他の方法など考えてみますね(´・ω・`)
>>542
scanfとかはあまり使わない方がいいとか聞くんですけれど、そういうことではなく
もっと根本的な問題とか、あるのでしょうか…?
私自身でも出来るだけ良いプログラムを書こうと、努力?してますが、
ご指摘頂ければさいわいです(´・ω・`)ゞ
0544デフォルトの名無しさん
NGNG#include <math.h>
int main(void)
{
int i;
double x, y;
puts("正の整数を入力してください。");
printf("整数:"); scanf("%d", &x);
y=log10(x);
i=y;
printf("%dの桁数は%dです。\n",x,i);
return (0);
}
桁数を求めるブログラム
うまくいかないよ、、、
0545デフォルトの名無しさん
NGNG1. scanf() の2番目以降の引き数はポインタ。
2. x++ は x をインクリメントするが、返す値はインクリメント前。
>>544
scanf() の書式は "%d" なのに、double へのポインタを渡している。
0546デフォルトの名無しさん
NGNGCプログラマのためのデータ構造とアルゴリズムを買って来ました。
0547デフォルトの名無しさん
NGNGy=log10(x);
i=y;
printf("%fの桁数は%dです。\n",x,i);
return (0);
}
>>544
こうしてみましたが、まだどこかおかしいみたいです。
自分では煮詰まってしまって見えないのです、、
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGできました。
ありがとうございました
0550デフォルトの名無しさん
NGNGint main(int argc, char* argv[])
{
PrintHello(World)
}
実行結果
Hello str!
↑ マクロ部分を書き換えて Hello World! と表示されるようにできませんか?
0551デフォルトの名無しさん
NGNGdefine PrintHello(str) printf("Hello " #str "!\n");
0552デフォルトの名無しさん
NGNGやっとマクロの使い方がわかりかけてきますた。
どーもありがとん。
0553デフォルトの名無しさん
NGNG御教授を受けに来ました。
char c;
int month2,day2 ;
printf ("入力してください\n");
scanf("%c",&c);
printf ("\n");
printf("cの中身=%c\n",c);
sscanf(c,"%d/%d",&month2,&day2); /* 引数cから、月と日を取り出す。*/
printf("%d月 %d日",&month2,&day2);
上記のはプログラムの一部を抜粋した物なのですが、
(なので#include〜等は省略しています)
scanf文で「3/21」や「12/25」と言った文字を入力して、
sscanf文でmonth2,day2に格納、
printf文で出力。
と言う手順にしたいのですが、
どうしてもmonth2.day2に上手く格納がされません。
宜しければ御教授の程お願い致します_| ̄|○
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGchar cに "3/21"などという文字列が代入できるわけがない。
0556デフォルトの名無しさん
NGNG自分なりにやってみても実行するとエラーが出てきて・・。助言お願いします(´ω`)
int main(void){
struct goods{
char name[20];
char type[10];
char price[5];
}record;
FILE *fp;
int size;
size=sizeof(record);
fp =fopen("file1f","w");
if(fp==NULL){
printf("open error");
exit(1);
}
while(printf("name?type?price?")
,scanf("%s%s%s",record.name,record.type,record.price)!=EOF){
fwrite(&record,size,1,fp);
}
fclose(fp);
return(0);
}
0557553
NGNGΣ(´Д`)ナルホドッ
そんな単純な文で良かったのか……不覚。
えと、では重ねて御質問なのですが、
sscanf文を使って格納する場合には、
どの様にしたら宜しいのでしょうか?
>>555
と、言う事は何と定義すれば宜しかったのでしょうか?
一応string文として試したりはしたのですが……_| ̄|○
0558540
NGNG2は、わかりました(`・ω・´)以後気を付けます
1は、ポインタですか〜、*とか&とか、まだ手を付けてさえいない…_| ̄|○もっと、勉強シマス…。
アリガトウ御座いますッ。
0559デフォルトの名無しさん
NGNGstring.hをつけるとセグメントエラーと出てプログラムが実行できません...
確か、実行コマンドを変えると出来たと思ったのですが、
検索しても思い出す事ができず。
どなたか教えてください。
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNG0562554
NGNG>sscanf文を使って格納する場合には、
>どの様にしたら宜しいのでしょうか?
Cにstring型はありません。文字列にはcharの配列を使います。
こんな感じ。
char c[128];
scanf("%s", c);
sscanf(c, "%d/%d", &month2, &day2);
0563デフォルトの名無しさん
NGNG確かに。日本語なのに何を言いたいのかさっぱりわからんな・・。
0564デフォルトの名無しさん
NGNGwhile(??){
}
0565デフォルトの名無しさん
NGNGchar s[]="釣り";
while(*s){
;
}
0566デフォルトの名無しさん
NGNGおもしろいんですが
もう少しシンプルなやつ気ボンヌ
0567デフォルトの名無しさん
NGNGfor(;;)
{
}
が良いかも。
while(1)
{
}
だと ワーニングになるから。
(私は最大限のワーニングを出すようにしているので)
0568デフォルトの名無しさん
NGNG実行時にリンクしているのでしょうか?
dllじゃないから、dlopen()ではなかろうと思うのですが。どなたか解説お願いします。
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGわかりやすい。
0572デフォルトの名無しさん
NGNGこれいいなw
0573デフォルトの名無しさん
NGNGコマンドプロンプトってところにファイル名入れればコンパイルしてくれるんでそゆか?
0574デフォルトの名無しさん
NGNG#insmod mod_*.o で、モジュール組み込み
kernel内にモジュールとして組み込まれて、
systemcall呼ばれると起こされる(動作する)。
apacheのモジュール使いたいならapacheのソース読め。
そして改造しなさい。それと、Linux版行けよ。
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGもちついて脳内変換してあげれ
0577568
NGNGつーか、574はアホアホレス。僕が言ってるのはapacheの組み込みモジュールのことだよ。
カーネルのモジュールの話じゃないよ。
apacheが起動時に必要なモジュールを組み込むけど、mmap()でもした領域にオブジェクト
形式のモジュールを読み込んで、このモジュールをapache自身が何ステップも掛けて初期化
してるのか、なんて想像してみたんだけど、こんな手順で良いのかわからないので聞いたの。
0578デフォルトの名無しさん
NGNG0579つーか、574はアホアホレス。
NGNG0580デフォルトの名無しさん
NGNGやーい > わーにんぐ
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGデ バ ッ グ や ら な い か
0586デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNGFILE *fp;
char buff[1024];
fp = fopen("hoge.txt", "r");
if (fp == NULL) return;
while (fgets(buff, sizeof(buff), fp) != NULL) {
printf("%s", buff);
}
fclose(fp);
というプログラムでfopen時にはfpはNULLではないのに
fgets()の途中でNULLになってしまうことはありますか?
下記のエラーが出ました。
Debug Assertion Failed!
Program c:\hoge.exe
File: fgets.c
Line: 60
Expression: str != NULL
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
よろしくお願いします。
0589デフォルトの名無しさん
NGNGfgetsの関数リファレンスくらい読んだら?
fgetsの返値を調べれば一発で解るでしょ。
ちなみに、上記の例では、ほぼ必ずNULLが返る。
0590デフォルトの名無しさん
NGNG再現ができないので戻り値を調べることができないんです。
0591デフォルトの名無しさん
NGNGswap(int *a, int *b)
{
temp = *a;
*a = *b;
*b = temp;
}
どうしてこれで入れ替えることができて、
swap(int a, int b)
{
temp = a;
a = b;
b = temp;
}
これではできないのですか?本にその説明はあるのですが、やっぱりよく分かりません。
上の二つの関数の違いについて詳しく説明していただきたいのですが。
0592デフォルトの名無しさん
NGNG値渡しだから。つまり、引数に渡したもののコピーが渡るだけなので
いくらコピーをいじっても元に影響を与えることができない。
ポインタなら、アドレスのコピーでも差す先は同じだから変更できる。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGif (fp = NULL) return;
になっていた、に 20 ウォン。
>>589
後学の為に、関数の呼び出しもとの変数を合法的に書き換える方法を
教えて下さい。
0596588
NGNGそんなことなってません。
というか自分でテストする限り再現できないんです。
ユーザーからこんなエラーが出たっていわれてfgetsは
そこの一箇所で、しかもユーザーからも今回初めてで
その後は正常に動いているんです。
0597デフォルトの名無しさん
NGNGNULLが返ったにしてもエラーにはならんだろ。
0598デフォルトの名無しさん
NGNGありゃ、失敬。
しかしそうなると厄介だなぁ。
>File: fgets.c
>Line: 60
>
>Expression: str != NULL
(デバッグ版かよ!ってのはさておき)
誰かが fp を 0 にしてるのは確かなんだけど…
fp と buff はローカル変数なんだよね?
0599588
NGNGデバッグ版ですみません。
リリース版の挙動が違ったら困るのでデバッグ版をリリースしてます。
fpとbuffはローカルです。
たまたまだよってことで許してくれるかなー
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGマルチスレッドで並行して走ってるコードはある?
0603デフォルトの名無しさん
NGNGこれが"fgets.c"の60行目なの?
0604588
NGNGいえ、ありません。ちなみにwhileの中の本当のコードは
while (fgets(buff, sizeof(buff), fp) != NULL) {
cnt++;
}
なんです。
>>603
fgets.cはたぶんCのライブラリのことだと思います。
0605603
NGNG>fgets.cはたぶんCのライブラリのことだと思います。
そうみたいですね。
で、"Expression: str != NULL" でググってみたらこんなのがでてきた。
ttp://www.mtakahashi.com/old/09825.html
↑ここの一番下みたいなことはない?
0606デフォルトの名無しさん
NGNG>ユーザーからこんなエラーが出たっていわれてfgetsは
>そこの一箇所で、しかもユーザーからも今回初めてで
>その後は正常に動いているんです。
エラーがでたときのユーザーの環境で、hoge.txtファイルのなかみ
が空だったんじゃないの?
0608デフォルトの名無しさん
NGNG60 : _ASSERTE(str != NULL);
fgets() の 3番目の引き数が NULL かどうかのチェック。
>>606
だからぁ…それで fp が書き換わるのか?と。
0609デフォルトの名無しさん
NGNGfpの値は、変化ないよ。
べつにfpの値が壊れなくても、
ファイルが空ならfgetsの返値はNULLになるでしょう。
0610588
NGNGif (fp != NULL) {
if (fgets(buff, sizeof(buff), fp) == NULL) break;
} else {
break;
}
cnt++;
}
これでいいかなぁ
0611デフォルトの名無しさん
NGNGvoid main(){
int kazu[][];
~
多次元配列kazuに対して数字を入れる処理。
~
}
int kansu(int kazu[][]){
和を計算する処理。
return(sum);
}
こんな感じに作ってみたのですが、kazu[][]が0とかいうエラーが出てしまいます。
0612デフォルトの名無しさん
NGNGだったらエラー決定。
ご愁傷様。
0613デフォルトの名無しさん
NGNGつかさ、>>588で省略してるところない?
そのコードを含んでる関数全部コピペしてみ。
0614デフォルトの名無しさん
NGNG0615614
NGNG0617デフォルトの名無しさん
NGNGそ。fp に NULL 渡してるんでアサートかかってる。>>608
0618デフォルトの名無しさん
NGNG配列やら配列の先頭のポインタ、配列のサイズを渡して
やろうって発想はできませんか。
0619デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGint main(){
int kazu[N][N];
~
多次元配列kazuに対して数字を入れる処理。
~
}
int kansu(int kazu[][N]){
和を計算する処理。
return sum;
}
0622デフォルトの名無しさん
NGNGint main()
{
cout << "#include <iostream.h>" << endl << endl;
cout << "int main()" << endl;
cout << "{" << endl;
cout << "cout << ゛Hello World ゛<< endl; " << endl;
cout << "}";
}
0623デフォルトの名無しさん
NGNGありません。
0624デフォルトの名無しさん
NGNG> if (fp == NULL) return;
わけて書くなよ ぼけ
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG> (私は最大限のワーニングを出すようにしているので)
やーい > ワーニング
Star Warsは「スター・わーず」か?
0628デフォルトの名無しさん
NGNGというか、そういうところにたいがいのバグの90%以上があるんだよ。
そもそも、原因を切り分けするために、現象が起きる最小のコードにまで切り詰める
のが常識だろ。だんだんスリムアップしていって、あるところで出なくなったら
その直前に削除した部分があやしいわけ。
で、十分にスリムアップして(機密部分などがなくなって、pasteするのに十分な小ささに)、
「これで起きるんですが」と「そのままコード全部」をpasteするのが常識。
(まあ、そこまでやるうちに、99%の場合は解決しちゃうんだけどな)
0629デフォルトの名無しさん
NGNG0631588
NGNG>というか、そういうところにたいがいのバグの90%以上があるんだよ。
でも、これはその通りかもしれません。
そういえば、他のプログラムが同じファイルに対してアクセスしている
可能性が無きにしもあらずです。
その辺、調べてみます。
0632588
NGNG0633デフォルトの名無しさん
NGNGwhile()ループでfpがNULLになってからもう一回fgets()が呼び出されちゃうこ
とがあるんじゃない?feof()でチェックするようにしたらどうかな?
そもそもfgetsが返すNULLはEOFかエラーか区別できないはず。
0634デフォルトの名無しさん
NGNGだからこそ、再現するやつとしないやつで、
どんどん切り分けるんだってば。そんなの常識。
あるバグなんて、デバッグ用のprintf()を1つ入れるか入れないかで再現したりしなかったり
するんだけど、そういう不安定なバグをおいつめるこそ醍醐味。
0635デフォルトの名無しさん
NGNGいや、その前にあやしいところがいっぱいありそう。
-W4にしてコンパイルするとウォーニングがいっぱいでるようなソースじゃないのか?
まあ
3000行以内のソースなら、
15分もあれば、「ここが原因じゃん」と指摘してあげられるんだがな。
その気になったらソースをメイルしろ。
0636588
NGNGなにやら興味深いレスです。今日はもうすっかり眠くなってきたので
明日がんばります。
>>634
自分でやれるならいくらでもやるんですが
お客さんにやってもらわないといけないので、トライ&エラーというわけにも
いかなくて。
でもそれしかないんですかねー。やっぱり。
0637デフォルトの名無しさん
NGNGっていうか、EOF以外のエラーが返ってきたからといってどうするんだよ
もういっかい読んでみるのか?
0638デフォルトの名無しさん
NGNGっていうか客にそんなことさせるなよ。ぼけ
とにかくソースを全部見直せ
0639デフォルトの名無しさん
NGNG0640588
NGNGステップ単位にログ吐くかなぁ
0641デフォルトの名無しさん
NGNGC:\Documents and Settings\Owner>になってしまったよ
あとbcc32.cfgとilink32.cfgを保存する場所がわからないんです
0642デフォルトの名無しさん
NGNG0643641
NGNG0644デフォルトの名無しさん
NGNGC:\Borland\bcc55\Bin は C:\Borland\bcc55\Bin にあるよ。
0645デフォルトの名無しさん
NGNG>60 : _ASSERTE(str != NULL);
>fgets() の 3番目の引き数が NULL かどうかのチェック。
第一引数じゃないのか?と小一時間(ry
0646デフォルトの名無しさん
NGNG単純に呼び元で fp 破壊してないか?
fpを宣言しているあたりを正確に晒せ
前後で配列とか用意してない?
0647デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
int a;
a = 0;
printf("%d","%d",a);
}
これやったら 106 って出るんだけど何で?
0648デフォルトの名無しさん
NGNG正しいかこれ?
0649デフォルトの名無しさん
NGNGカレントディレクトリとPATHを混同してませんか
0650デフォルトの名無しさん
NGNGネタでもおもろいな。
0651デフォルトの名無しさん
NGNG可変個引数について勉強汁
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG文法的には正しいが、printfの使い方としては間違ってる。
0654デフォルトの名無しさん
NGNG>>650-65
入門書1冊で勉強始めたばかりなので・・・
可変個引数了解|-`)ゝ
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNGsizeof(int)==2、sizeof(char*)==4
の環境で桁落ちしたのかもよ?
0657デフォルトの名無しさん
NGNG文字列123-4567-890を数値部のみ整数の形で出力する
プログラム作るにはどうすればいいかな?
文字列を整数にするのにatoi関数を使うって聞いたけど、
それって"-"が入ってるから123で配列に入れ直してからじゃないといけないのかな?
0658デフォルトの名無しさん
NGNGprintf("1234567890");
}
答えだ。
ありがたく思え。
0660デフォルトの名無しさん
NGNGとか?
0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG"my $input = \"123-4567-890\";" \
"$input =~ s/-//g;" \
"print $input;"
system("perl -e '" PROGRAM "'");
0663デフォルトの名無しさん
NGNGchar dst[16];
char *sp, *dp;
for(sp=src, dp=dst; *sp != '\0'; *sp++)
if(*sp >= '0' && *sp <= '9') *dp++ = *sp;
printf("%s\n", dst);
0664デフォルトの名無しさん
NGNGsscanf()でもどこまで処理したかわかるよ。
0665デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
void main(int argc,char *argv[]){
int X,Y;
sscanf(argv[1],"%d,%d",&X,&Y);
}
上のばあいコンパイルしてくれないです。
argv[1]のかわりに文字配列なら当然問題ないです。
#include <stdio.h>
#include <string.h>
void main(int argc,char *argv[]){
int X,Y;
char temp[]="123,123";
sscanf(temp,"%d,%d",&X,&Y);
}
0666デフォルトの名無しさん
NGNGコンパイル時に出力されたエラーメッセージなどをよくご確認の上、
このスレが適当かどうか検討してみてください。
0667デフォルトの名無しさん
NGNG#include <stdlib.h>
int main(int argc, char **argv){
char *cReadSpell, *cWriteSpell;
int nSpellLen, counter, nAsciiCode, nWriteNumber;
if(argc != 2){
printf("引き数不正\n");
return -1;
}
nSpellLen = strlen(*(argv+1)) + 1;
cReadSpell = (char*)malloc(nSpellLen);
strcpy(cReadSpell, (const char*)(*(argv+1)));
cWriteSpell = (char*)malloc(nSpellLen);
strcpy(cWriteSpell, "\0");
for(counter = 0; cReadSpell[counter] != '\0'; counter++){
nAsciiCode = *(cReadSpell+counter);
nSpellLen = strlen(cWriteSpell);
if(nAsciiCode >= 48 && nAsciiCode<= 57){
cWriteSpell[nSpellLen] = *(cReadSpell+counter);
}
}
strcat(cWriteSpell, "\0");
nSpellLen = atoi(cWriteSpell);
printf("%d\n", nSpellLen);
free(cReadSpell);
free(cWriteSpell);
return 0;
}
0668デフォルトの名無しさん
NGNGint a;
int b;
}T;
const T t={
a:1;
b:2;
};
こんな記述をどこかでみた気がするんですが
これは標準じゃないですよね
0669デフォルトの名無しさん
NGNGどんんあプログラム作ればいいの??
教えて教えて きゃーー >▽<
0670デフォルトの名無しさん
NGNG教えてください。
( 問 題 )
2つのファイルを連結するプログラムを作成。
以上宜しくお願いします。
0671デフォルトの名無しさん
NGNG>strcpy(cWriteSpell, "\0");
二重に非効率。
>if(nAsciiCode >= 48 && nAsciiCode<= 57){
環境依存。不適当な変数名の使用。
>nSpellLen = atoi(cWriteSpell);
不適当な変数名の使用。
>return -1;
環境依存。
>strcat(cWriteSpell, "\0");
全く無意味。無駄。
>(*(argv+1))
可読性を損なっている。
>*(cReadSpell+counter)
表記の不統一。
総合評価:
ダーメダメじゃ〜ん。
0672デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char * buf;
if (argc < 3) {
return EXIT_FAILURE;
}
buf = malloc(strlen(argv[1]) + strlen(argv[2]));
sprintf(buf, "/bin/cat %s %s", argv[1], argv[2]);
system(buf);
free(buf);
return EXIT_SUCCESS;
}
0673デフォルトの名無しさん
NGNGわざとひどいコードを書いてるんでしょう。
>>657
#include <stdio.h>
#include <ctype.h>
int main(int argc, char **argv)
{
int i = 0;
for (; argv[1][i]; i++) isdigit(argv[1][i]) && putchar(argv[1][i]);
return 0;
}
0674デフォルトの名無しさん
NGNG#include <いろいろ>
unsigned char buffer[ 1024 ];
int fdi, fdo;
void writesub ( char * );
int main( int argc, char *argv[] ){
if ( argc != 4 ){
fprintf( stderr, "usage %s input1 input2 output\n", argv[ 0 ] );
exit( EXIT_FAILURE );
}
if ( ( fdo = open( argv[ 3 ], O_WRONLY|O_TRUNC ) ) < 0 )
fdo = creat( argv[ 3 ], S_IREAD|S_IWRITE );
writesub( argv[ 1 ] );
lseek( fdo, 0, SEEK_END );
writesub( argv[ 2 ] );
close( fdo );
return EXIT_SUCCESS;
}
void writesub( char *arg ){
int flg;
fdi = open( arg, O_RDONLY );
while ( 1 ){
if ( ( flg = read( fdi, buffer, 1024 ) ) > 0 )
write( fdo, buffer, flg );
else if ( flg == 0 ) break;
else puts( "NEVERMIND" );
}
close( fdi );
}
0675デフォルトの名無しさん
NGNG読みにくっ!!
Usenixあたりにキタナイコードコンテストってあったよな。
0676デフォルトの名無しさん
NGNG...なんかくれるなら
応募するかもです。最悪コンテスト。
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG> #include<stdio.h>
空白空けろよ ぼけ
0679デフォルトの名無しさん
NGNG引き数 -> 引数
(で、読み方は「ひきすう」)
0680デフォルトの名無しさん
NGNGカッコのうちがわあけるなよぼけ
こういう書き方するやつに、ぼけなコード書くやつが多いな。経験的に。
0681671
NGNGとりあえず動くものを、と思っていたので変数を使いまわしたりした。
名前も即興だ。ただ、なるほどと思える指摘もあったので参考にします。
コメントかければまだましだったのでしょうが改行多すぎで投稿できなか
った。
0682デフォルトの名無しさん
NGNGThe International Obfuscated C Code Contest
http://www0.us.ioccc.org/main.html
>>676
『プログラミング診断室』の天然ダメコードと違ってねらって書いてるから
中身は相当高度だよ。パッと見て何してるかわからん。
過去の受賞作
http://www0.us.ioccc.org/years.html
例
http://www0.us.ioccc.org/1998/bas1.c
http://www0.us.ioccc.org/1996/jonth.c
http://www0.us.ioccc.org/1990/dg.c
http://www0.us.ioccc.org/1988/robison.c
http://www0.us.ioccc.org/1987/hines.c
0683デフォルトの名無しさん
NGNG>>645
str は string じゃなくて stream。FGETS.C での fgets() の定義↓
char * __cdecl fgets (_TSCHAR *string, int count, FILE *str)
0684デフォルトの名無しさん
NGNGstrがstringの略だと思ったんだろうが、この場合のstrはstreamの略。
VCをもっているならfgets.cを読んでみな。
0685684
NGNG0686デフォルトの名無しさん
NGNGこれはひどいね!
0687デフォルトの名無しさん
NGNG昨日はすっかり忘れてたけど、他の関数からfgetsを内部的に
呼び出してる可能性は?
少なくともC-Runtimeにはなさそうだけど。
>>683-684
俺もかぶりそうだったよw
0688デフォルトの名無しさん
NGNGhttp://www0.us.ioccc.org/2000/dhyang.c
0689688
NGNGhttp://www0.us.ioccc.org/2000/dhyang.hint
これ見ながらコンパイルすると…アートだ。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGreturn -1
が環境依存ってどういうこと?
0692588
NGNG例外エラーとみて間違いないですね。
うーん。なんでやろ
0693デフォルトの名無しさん
NGNGmain関数に限ってということだろう。
0694588
NGNG0695デフォルトの名無しさん
NGNG何だったの?
0696588
NGNGマルチスレッドで動いてるわけではないんですけど
他のソフトから同時に同じファイルを対象に起動されていたり
他のソフトも同じファイルにアクセスしていたりしたので
そのあたりかなと。検証はこれからですが。
0697デフォルトの名無しさん
NGNGそれでオープン中のファイルのファイルポインタがNULLにはならないだろう。
0698デフォルトの名無しさん
NGNG問題となっている箇所をコピペしてみ。
0700デフォルトの名無しさん
NGNG>fgetsはそこの一箇所
じゃなかったのか?
0702デフォルトの名無しさん
NGNG本当にそのままか?
バッファを動的に確保してサイズ計算してたりしてないか?
0703デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG共有違反起こるんじゃないの?
0710デフォルトの名無しさん
NGNG中をトレースすべし。
0713デフォルトの名無しさん
NGNGあるいはstdinとか。
0714デフォルトの名無しさん
NGNG>>588のソースのwhile文中にSleep()を入れて、
同じファイルに上書き、ファイル削除を試みたら、
上書きは出来たが削除は出来なかった。
エラーも起きなかった。
0715デフォルトの名無しさん
NGNGfp がNULLになるのは藻前のソースの問題かと。
メモリ破壊が起きているに100ヌルポ
0716588
NGNG0717デフォルトの名無しさん
NGNG100ガッ
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGWindowsにもあるの?
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGこれ作ったのアニヲタじゃんw 審査員も普通にわかったりするんかな。
これでakuがsokuコンパイル&実行→sokuがzanコンパイル&実行…で無限ループに
なったらおもしろいな。
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGreturn;
if ((fp = fopen(..)) == NULL){
free(p);
return;
}
if (fwrite(..)) == -1){
fclose(fp);
free(p);
return;
}
エラー処理が延々と長くなっていくんだけど、なんかカコイイ!記述方法って
ない? オブジェクト指向方面でなんか解法があったと思ったけど、わからん…
0729デフォルトの名無しさん
NGNGif ((fp = fopen(..)) == NULL) goto END;
if (fwrite(..)) == -1) goto END;
END:
fclose(fp);
free(p);
return;
で、どう?カコイイくは無いと思うが。
C++でならtry...catchがあるけど、ここCスレだし。
0730デフォルトの名無しさん
NGNG#define try(val, fn) {if ((val = fn) == NULL) goto END;}
と定義してから
try(p, malloc(...))
try(fp, fopen(...))
END:
(後処理)
とか。fwriteをどうするかは聞かんでくれ。
0731デフォルトの名無しさん
NGNGif ((p = malloc(..)) == NULL) goto MALLOC_ERROR;
if ((fp = fopen(..)) == NULL) goto FOPEN_ERROR;
if (fwrite(..)) == -1) goto FWRITE_ERROR;
goto NULLPO;
FWRITE_ERROR:
fclose(fp);
FOPEN_ERROR:
free(p);
MALLOC_ERROR:
return;
NULLPO:
0732デフォルトの名無しさん
NGNGおいおい、fwrite()の戻り値を-1と比較しちゃダメじゃん。
0733デフォルトの名無しさん
NGNGfwriteの戻り値の型はsize_t(符号無し整数)だ。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGあとFARも教えて
0736デフォルトの名無しさん
NGNGハァ?
0737デフォルトの名無しさん
NGNGint main()
{
double kai;
double pai = 3.14;
kai = 10 * pai;
printf("%f\n");
return 0;
}
これで、31.400000というのがprintされたんですけど、
この0の数ってのはどこから来てるのかよくわかりません。
31.4と表示するにはどうすればいいのでしょうか。
0738デフォルトの名無しさん
NGNGどうしても誤差が生じる。
int main()
{
double kai;
double pai = 3.14;
kai = 10 * pai;
printf("%.1f\n",kai); //%の後に.(ドット)ね
return 0;
}
0739デフォルトの名無しさん
NGNGネタで言ってるだろ
小数点が必要だからって何故にdoubleなんてつかうんだ
0740デフォルトの名無しさん
NGNGたぶん %.1f だと思います。
0741デフォルトの名無しさん
NGNGintやshortを使ったのですが、0.000000となるのでだめぽと思ったんです
%.1fにすると確かに出来ました。
これは小数点以下1桁を表してるんですかね
ありがとうございました
0742デフォルトの名無しさん
NGNG>printf("%f\n");
>これで、31.400000というのがprintされたんですけど、
嘘をつくな。
このコードでは何が表示されるか解らんはずだ。
0743デフォルトの名無しさん
NGNGLSI-C 試食版 と
C Pad 開発環境 を
ダウンロードしろと言われたのですが
LSI-C 試食版を落としてからどうすればいいのか
分かりません。どうかお願いします。
0744デフォルトの名無しさん
NGNG初期化で疑問に思う事がでてきました。
memset(strtmp,NULL,MAX_PATH);
memset(strtmp,'\0',MAX_PATH);
NULLはゼロと解釈してますが この場合どう違うのでしょう
0745デフォルトの名無しさん
NGNG値としては0だが、ポインタとしての0番地を表すのに使うためにある名前なので、
NULLをそこにいれるのは単に間違い。
コンパイルは通ってしまうが。
0746デフォルトの名無しさん
NGNG>memset(strtmp,NULL,MAX_PATH);
NULLは多くの環境で(void*)でキャストした0が使われる。
memset()の第二引数の型はintなので本来の意味的には
>memset(strtmp,'\0',MAX_PATH);
が正しい。
# 文字定数の型はint
0747デフォルトの名無しさん
NGNGNULLはNullポインタであって、ゼロではないです。
0748デフォルトの名無しさん
NGNG分かり良い説明ありがとうございます。
まさにコンパイル通っているので うちのシステムにも問題があると
わかりました。流用ソースの殆どがNULLでコード書いてあるのです。
0749デフォルトの名無しさん
NGNG書き忘れただけなんじゃねーの
0750デフォルトの名無しさん
NGNGここがネタっぽいんだよなぁ。
0751デフォルトの名無しさん
NGNGまあ、
#define NULL 0
なんて定義があるはずなので実際には変わらないけどね
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG符号付整数型の負の最大値を-1で割って正しい結果をだしたいのですが
どうしたらいいですか
0754デフォルトの名無しさん
NGNG>今日始めてCを触ったんですが
嘘だろ?
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGfp=NULL;
p=malloc(..);
if(p) fp = fopen(..);
if(fp){
fwrite(..);
fclose(fp);
}
if(p) free(p);
return;
0760753
NGNG1の補数表現を用いてる環境系でコンパイル
という結論に達しました
0761デフォルトの名無しさん
NGNG「まちがって同じ数値を定義しちゃう」ことがないっていう利点がありますよね?
で、ほかに利点ってありますか?
たとえば、その型以外の変数にその値を代入したり比較したらエラーにしてくれるとか、
逆にその型で宣言した変数にそれ以外のものを代入したらエラーにしてくれるとか
そういう機能はないのですか?
あと、たとえば、型ごとに名前空間が別だとか、そういうのがあればいいのに。
0762デフォルトの名無しさん
NGNGコンパイル時に警告出力しないか?
>逆にその型で宣言した変数にそれ以外のものを代入したらエラーにしてくれるとか
コンパイル時に警告出力しないか?
0763デフォルトの名無しさん
NGNG円周率は3だろ。
0764デフォルトの名無しさん
NGNGfloatつかうやつはぼけ。
昔からのCのユーザーならかならずdouble使う。
0765デフォルトの名無しさん
NGNGちがいますゼロがNULLなんです。
0766デフォルトの名無しさん
NGNGこれは大うそ
やーい > しったか
0767デフォルトの名無しさん
NGNGでもゼロはナルポインターです
0768デフォルトの名無しさん
NGNGVC++6.0ですが、-W3でも-W4でも出ませんよ > 警告
0769デフォルトの名無しさん
NGNG>たとえば、その型以外の変数にその値を代入したり比較したらエラーにしてくれるとか、
>逆にその型で宣言した変数にそれ以外のものを代入したらエラーにしてくれるとか
全く理解できない。enum型以外のenumって何だ?
0770デフォルトの名無しさん
NGNGポインタの0がぬるぽで
char型の配列に入ってるのはchar型の0
>>768
データ型に互換性があると、勝手にキャストするような...
* $FreeBSD: src/sys/sys/_null.h,v 1.5 2003/12/26 06:11:43 obrien Exp $
*/
#ifndef NULL
#ifdef _KERNEL
#define NULL (void *)0
#else
#if defined(__LP64__)
#define NULL 0L
#else
#define NULL 0
#endif
#endif /* _KERNEL */
#endif
0771デフォルトの名無しさん
NGNGお願いします。
状況
バイナリファイルを開こうとするとfopenに失敗する場合がある。
テキストファイルやexeファイルは上手く開けるが、JPGやMP3については
常に失敗してしまう。
なにが間違っているのでしょうか?
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGゴバーク??
0776デフォルトの名無しさん
NGNGソースはないけどパソコンに使うって聞いたことがあるよ。
0777デフォルトの名無しさん
NGNGgetchar()だと、入力文字がなかったとき止まってしまうのですが、これを止まらないようにしたいのです。
0778デフォルトの名無しさん
NGNG頭悪そうな表現をしているが、なにがどう大嘘なのか説明してほしいところだな。
アドレスとして0を指定したらNull Pointerとして扱われるため
Null Pointerが実際には0番地でない処理系があったとしても
C言語においては0番地としかいいようがないからあのように書いたんだが。
0779デフォルトの名無しさん
NGNGttp://www.catnet.ne.jp/kouno/c_faq/c19.html
0780デフォルトの名無しさん
NGNGC FAQ 辺りを読まれることをおすすめします。
0781デフォルトの名無しさん
NGNG具体的にどの項目?読んでいたつもりだけど。
というか、今回はどの部分を問題にしているのかが不明なので、
それを確認したいんだが。
0782デフォルトの名無しさん
NGNG1. null pointer は「どこも指していない」ポインタです。
2. 「0番地」など存在しません。
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGいいえ。いいわけになっていませんね。
なんで「番地」なんてつけるんだ ;-)
「言語」もだが。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGどーして?
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGhogeFirst,
hogeSecond,
hogeThird,
MaxOfHoge};
最後にカンマは要らない。
0791デフォルトの名無しさん
NGNGC99以前でも、カンマOKなように拡張している処理系が多かったよ。
0792デフォルトの名無しさん
NGNGenum hoge {foo, bar, biz};
enum a;
int b;
a = 100;
b = foo;
でも、なーんにも警告してくれないんでしょ?
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG現時点でまともでリリースされている奴は
C#ぐらいしかなかった気がする。
0795デフォルトの名無しさん
NGNGC# なんか持ち出すくらいなら C++ を思いつけ。
0796デフォルトの名無しさん
NGNGマイクロソフトがそんなようなこと言ってたよ。
そこらへんどうですか?
ドウゾ
0797デフォルトの名無しさん
NGNGはっきり言ってスレ違い。
0798デフォルトの名無しさん
NGNGC#はCじゃないじゃん。
ってことは、C++やObjective-CやJavaも指摘してくれないの?
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNG逆に#defineだと
int hoge = foo;
ができちゃう。
0804デフォルトの名無しさん
NGNG「警告」は処理系の任意表示
あてにすること自体が処理系依存
0805デフォルトの名無しさん
NGNG使えないってよりは使うと便利よ、ってもんだと思うけど。
0806デフォルトの名無しさん
NGNG特定の処理系での「警告」を理由に正当な記述を使わない
無自覚性の処理系依存
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGだからそれはenumでもおなじだろ?
0809デフォルトの名無しさん
NGNGそれは仕様。intへの変換はおけ。逆はだめ。
>>802 >>808
enumにしとくとデバッガで見える。#defineが見えるデバッガがあれば教えてくれ。
#defineだとコンパイラにわたる以前に変換されてしまうので型チェックが全くないわけだが、
0810デフォルトの名無しさん
NGNGでも、
a = 100;
b = foo;
のどちらも警告でないんだよ?
0811デフォルトの名無しさん
NGNGC++なら逆はだめ(エラー)だな。
0812デフォルトの名無しさん
NGNGFortranではどうだ? Adaではどうだ? COBOLならいけるのか??
0813デフォルトの名無しさん
NGNGそうだね、C++と勘違いしてたよ。
てか、みんな、CなんてやめてC++にしてれ。おながいします。
なんで今時C使ってるの?ホントに、理由を教えてください。
単に.cを.cppに変えてくれるだけでいいから。
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNGtag付きのenumでは不可逆の整数型を宣言できるよ
enum { ENUM_ZERO, ENUM_ONE, ENUM_TWO };
enum HOGE_NUM { HOGE_ZERO, HOGE_ONE, HOGE_TWO };
void main(void)
{
int n;
HOGE_NUM hn;
n = 0;
n = ENUM_ZERO;
n = HOGE_ZERO;
hn = 0; // error
hn = ENUM_ZERO; // error
hn = HOGE_ZERO;
}
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNGやっぱりCかC#だね。
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNGすまん。C/C++室スレと勘違い。
0820デフォルトの名無しさん
NGNGそのソース、拡張子を.cppに変更してコンパイルしる。
ちなみに、コンパイラは何使ってるの?
0821デフォルトの名無しさん
NGNGそのソースの拡張子を.cppに変更してコンパイルしてみ。
gccとかならそのまま行く。
0822デフォルトの名無しさん
NGNGでも、Cでもエラーか警告だしてくれてもいいような気がするんだけどなあ。
ところで、C++では、タグみて違うものにいれられないようにしてるってことは、
enum foo {test, test2, test3};
enum bar {test, test4, test5}; みたいに同じものを中に含めた場合に
名前空間独立にしてくれるかな? Cだと当然エラーだが。
0823デフォルトの名無しさん
NGNGそれはだめ。
てか、VC++持ってるのにどうして試さないw
違いは拡張子だけ。
0824デフォルトの名無しさん
NGNGちなみに、名前空間を明示的に指定しないとだめ。
0825デフォルトの名無しさん
NGNGこ こ は C 言 語 ス レ
0826デフォルトの名無しさん
NGNGだから、拡張子を.cから.cppにするだけでいいのでおながいします。
どうして今時Cなの?是非とも便利なCとしてだけでいいので使って下さい。
0827デフォルトの名無しさん
NGNGこ こ は C 言 語 ス レ
0828デフォルトの名無しさん
NGNGC言語はダメさ加減を愛せる人が使う中級言語だから。
アセンブリ言語に近い立場で居る事に安心するための言語とでも言おうか。
0829デフォルトの名無しさん
NGNGCかアセンブラか、しか選択肢のない環境もあるんだよ。
0830デフォルトの名無しさん
NGNGん、言い方にとげがあったか?悪気は無い。ゆるしてくれ。
Cはアセンブリ言語をラップすることに主眼を置いているのであって
言語的な高級さを売りにしている言語ではないと言いたかっただけだ。
0831デフォルトの名無しさん
NGNG書けないじゃん。
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG僕がプログラミング始めたころにはもうVisual C++とか
充実してましたよ。このスレ化石みたいな時代遅れの
人たちばっかり。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG「まあ、UnixのカーネルがC++で書かれる時代になったら私もC++をメインに使う」ですね。
彼が言ってたのは、正確には
「まあ、UnixのカーネルがANSI (C89のことね)で書かれる時代になったら、わたしも
それをメインにする」でしたが。(1990年ごろに聞いた)
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGCのオブジェクトファイルをリンクする事が可能らしいし
0843デフォルトの名無しさん
NGNG自分ねーやつ(w
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG目的意識ねーやつに何物も推奨しようがない
0846デフォルトの名無しさん
NGNGうん。C++の立場は中途半端になりつつあると思う。
なのでどっちを取るかというとおれもCっすね。
原始的なのが必要な場面てあるもの。
んで高水準なのは全然別のもっと使いやすいのを選ぶな。
C++じゃあちょっとね。っていうか既に別のを使ってるけどね。
RubyとかOCamlとかSchemeとかPythonとか。
C#も面白そうだと思う。Javaも、まあいいかな。
まー、GCもろくにないくせにCより高級でござい、
なんていわれても鼻で笑うだけだよw
なんにしろC++はあんまりやる気しねえなあ。
仕事で使えと言われればもちろんC++使うけどさw
0847デフォルトの名無しさん
NGNGプ
0848デフォルトの名無しさん
NGNG具体的に言ってみたら?w
0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGなーに力みかえってんだよ、ばっかじゃねーの?
0853デフォルトの名無しさん
NGNGなんかみんな勘違いしてるみたいだけど、CでできることならC++でもできるよ。
で、今時Cしかない環境てどういう環境?よっぽどマイナーだとは思うんだけど。
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGワラタ
コピペ?
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGPCじゃないよ
0859デフォルトの名無しさん
NGNGC++はCをすべて含みますよ?
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGfor文使って消去法しかないの?(↓な感じ)
int PrimeNumSerch(int serch)
{
int tmp;
for(tmp = 2; tmp <= (int)(serch / 2); tmp ++) {
if(serch % tmp == 0)
return 0;
}
if(tmp > (int)(serch / 2)) {
return 1;
}
}
あるか、無いかだけでいいから他に方法あったら教えて下さい。
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG即レスありがと、大好き。
0864デフォルトの名無しさん
NGNGこれがウソなのは常識。
0865デフォルトの名無しさん
NGNG例)ABCと入力すると,ABCBAを出力する
0866デフォルトの名無しさん
NGNG2.str2にstringから最後の文字を取り除いたものを入力
3.str2を逆向きにして、それをinv_strに入力
4.stringとinv_strをくっつける
で、上手くいくと思うんだけど、どう?
0867デフォルトの名無しさん
NGNGchar *b=a+len;
printf("%s",a);
len++;
while(len--)
putchar(*b--);
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGそれはたぶん、大学の授業でさっそくレポート課題として出題されるような時期だからだとおもいますよ^^>868
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG素数が書いてあるデータファイルを用意する。
入力された数字を比較する。
これ最早。
さらにはデータの上限がnであったときn^2まではふるいにかけて計算可能?
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG今読んでる本によく似たのが書いてある。
n が素数かどうか判定するには
n の平方根まで探索すればいい、とある。
つまり ループ継続条件 は
tmp * tmp <= search
で、
あと、ループに入る前の段階で
偶数かどうか調べて
偶数だとそれが2であれば素数、それ以外素数でない return
をやって、
ループの初期条件で tmp に 3 を設定して
増分は奇数だけ総当たりするので tmp +=2
いちばん速いのは、
最初から素数の表を準備する、または
配列に、見つかった素数を逐次登録・再利用して
nの平方根までの素数だけを調べる...らしい。
0876デフォルトの名無しさん
NGNGそらそーだろうけど、ホントに使えないのか?
>>861 >>875
%なんて使う時点で高速とは無縁となっちゃうね。
http://www.google.co.jp/search?q=%E9%AB%98%E9%80%9F%E7%B4%A0%E6%95%B0%E5%88%A4%E5%AE%9A&btnG=Google+%E6%A4%9C%E7%B4%A2&hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1
>>864
大した問題じゃない。C++が使える環境で使わない理由はないな。
>>865
C++ならreverse()一発。
0878デフォルトの名無しさん
NGNGだーかーらーここはCスレだってば!
おまえがC++厨なのはよくわかったからどっか他のところでやってくれ。
0879デフォルトの名無しさん
NGNGそれもなか。
0880デフォルトの名無しさん
NGNG>今時Cしかない環境てどういう環境?
貧乏で、C とは別売の C++ コンパイラが買えない環境とか。
…ヽ(`Д´)ノ悪かったな!
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGいいのか?
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNG誰かコードのサンプルを提示してくれるかどうやって作れば良いのか
アドバイスをお願いします
0886デフォルトの名無しさん
NGNG上板橋の石田屋というところの最中は旨いらしい。
開店2時間前からひとが並んでいる。
0887デフォルトの名無しさん
NGNG#define LEN 10;
int i;
char code[LEN+1];
srand(time(NULL);
for(i=0;i<LEN;i++) code[i] = rand() % ('Z' - 'A') + 'A';
code[i] = '\0';
printf("%s\n",code);
0888デフォルトの名無しさん
NGNGWindowsで。
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG文字列の
"aaaaaa@bbbbbbb@cccc@"より
"@"単位で文字を順に取得したいのですが
1番目取得文字"aaaaaa"
2番目取得文字"bbbbbbb"
3番目取得文字"cccc"
※"@"文字は含めません
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGsscanf()で充分だろ。
0893890
NGNGコードを実際書いていただけないでしょうか?
今日PGが休んでいて私は営業なんで
C言語まったくわかりません。VBなら触れるんですが
夕方までに試験終わらせないといけないのでどうかお助けを
0894デフォルトの名無しさん
NGNGそのPGに書かせりゃいいだろ。
休みに呼び出せないっていうなら諦めろ。
つーか、スレ違い。
0895デフォルトの名無しさん
NGNG>ずうずうしいようで申し訳ありませんが
タダで済ませようとしているところなど、本当にその通りですね。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGすげー藁た
2chに頼るなよw
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG#include <string.h>
int main(void)
{
char buf[100], teststr[] = "aaa@bbbb@ccccc@@ee";
int max, i;
for (i = 0, max = strlen(teststr); i < max; i++)
puts(sscanf(teststr + i, "%[^@]", buf) ? i += strlen(buf), buf : "no element");
return 0;
}
0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGメアド晒したら送ってやるよ。
ついでに実際のソースへの組み込み方からテストまで面倒見てやる。
但し、コンサル料は1000円/10分な。w
>>900
c知らないらしいから、それだけ提示しても手が出ないと思われ。
0904デフォルトの名無しさん
NGNG0905890
NGNG打ち合わせ出てました。感謝します。
風邪と疲れでぶっ倒れたらしく 予定外のお休みされました。
電話で話ししても熱があるらしく何言ってるのか分かりませんでした。
これからコード触ってみます。ありがとうございました。
0906890
NGNG永久ループしてしまいます。
0907デフォルトの名無しさん
NGNG0908890
NGNG処理を抜けたいんですが。
今ループの内部に>>900で教えていただいたコードを書いてみたのですが
最後の文字を検索したあと。再び先頭の文字列を取りにいっています。
よろしくお願いします。m(__)m
0909デフォルトの名無しさん
NGNGおい、兄さん。
心の準備は出来てんだろうな?
直腸はきちんと洗浄しとけよ。
病気が怖いからな。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG乙かれです。
0912デフォルトの名無しさん
NGNG混じれ酢します。
お の れ の ソ ー ス を さ ら せ
0913890
NGNGif (IvtUserMsg == FALSE && IvtPassMsg == FALSE){
if(strstr((char *)cv.InBuff,"->") != 0) {
if (FstcFlg == TRUE){//システムUIC付の場合は先に設定送信
StringSendPrc(fstCmd,FALSE);//コマンド送信
memset(fstCmd,'\0',MAX_PATH);//コマンドラインクリア
FstcFlg = FALSE;
}
else{//連続送信識別子"@"が見つかった場合
if(strstr(strCmd,"`")!= 0){
for (i = 0, max = strlen(strCmd); i < max; i++){
puts(sscanf(strCmd + i, "%[^@]", buf) ? i += strlen(buf), buf : "no element");
StringSendPrc(buf,FALSE);//コマンド送信処理
memset(buf,'\0',MAX_PATH);//パラメタクリア
}
memset(cv.InBuff,'\0',InBuffSize);//バッファをきれいに
ExitFlg = FALSE;
if (iDebugView == 0) OnClose();//各関数の破棄を含むクローズの呼び出し
AppProc = FALSE;//処理中ロックフラグOFF
}
else{//通常の処理
IvtUserMsg = TRUE;
IvtPassMsg = TRUE;
StringSendPrc(strCmd,TRUE);//コマンド送信
memset(strCmd,'\0',MAX_PATH);
}
}
}
}
0914890
NGNG○ if(strstr(strCmd,"@")!= 0){
ここは訂正済みですすみません
0915デフォルトの名無しさん
NGNG0916890
NGNGIvtUserMsg = TRUE;
IvtPassMsg = TRUE;
この二つをTRUEに設定して
さらにTRUEならbrakeで永久ループしないですよね。
解決ですお騒がせしました。感謝いたします。
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919885
NGNGランダム関数使うと同じ文字がかぶる事無い?
0920デフォルトの名無しさん
NGNGプロの仕事を無料掲示板でやらせようってどういう神経してるんだ?
まぁ新人さんも多い時期なのでサビースでサンプルを書いておこう。
char** SplitAtString(const char* str)
{
int count,pos,i;
char** list;
char* work;
for(count=0,i=0;str[i];i++) if(str[i]=='@') count++;
if(count==0||str[0]=='¥0') return NULL;
if((work=strdup(str))==NULL) return NULL;
if((list=calloc(sizeof(char*),count+2))==NULL){ free(work); return NULL; }
for(count=0,pos=0,i=0;work[i];i++){
if(work[i]=='@'){
work[pos] = '¥0';
list[count++] = strdup(work[pos]);
pos = i + 1;
}
}
free(work);
return list;
}
改行大杉言われて詰め込んだので読みづらいかも
0921デフォルトの名無しさん
NGNG>>887はネタだろ。
だいたい、「ライセンスキー」がどのような形式でどんな文字列かという定義もないのに書けるわけがない。
0922デフォルトの名無しさん
NGNGsrandの引数次第でしょ。
これが被らない限り、まったく同一の物はたぶんできない。
心配なら、自分で擬似乱数アルゴリズム使って作ればいい。
0923デフォルトの名無しさん
NGNGlong int buff=0;
while(1) {
printf("%ld", buff);
} で、printfの後にライセンスキー発行する関数作ればいいんじゃないカナ?
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG0926923
NGNG0927デフォルトの名無しさん
NGNGガッ
0928デフォルトの名無しさん
NGNG引数次第って?
0929デフォルトの名無しさん
NGNG初期化すると同じ乱数配列が生成される。
だから、srandの引数次第。
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGさせたいのですがWindows MeのパソコンでC言語のプログラムを自分で打って
コンパイルをして実行することはできるのでしょうか?教えて下さい。お願いします。
0933デフォルトの名無しさん
NGNGここでコンパイラDLして
http://homepage3.nifty.com/aokura/#Software
ここでC言語を始めよう!をDLして設定するのが簡単かと。
0934デフォルトの名無しさん
NGNGタダで使えるBorland C++ Part3
http://pc5.2ch.net/test/read.cgi/tech/1054390397/
タダで最強!フリーC/C++コンパイラ
http://pc5.2ch.net/test/read.cgi/tech/1035882599/
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNGコンパイルエラーになります。
0937デフォルトの名無しさん
NGNG時間は遅いが学校から? カンニング?
0938デフォルトの名無しさん
NGNG入力の打ち切りは変換失敗に繋がるからscanf()の戻り値を確認しる。
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGコンソールからctrl+zを入力した時の挙動はBCCとVCでは
異なったと思う。OSによっても違うと思う。
0942デフォルトの名無しさん
NGNGEOFの入力は文字としてではなく、ストリーム自体のクローズとして
処理されるものなんですが。
だから対応する文字は無い。(CP/Mおよび初期のDOSでも代用文字があったが)
0943941
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG>エラーが発生するか、文字をまだ何も読み出していないときに、
>ファイルの終端または文字列の終端を検出すると、EOF を返します。
while(scanf("%c",&a)!=EOF) 〜
でどうかな。
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGこれらの関数は代入された入力要素の個数を返す。代入が失敗し
た場合、この個数は用意されたよりも少なくも 0 にも な り 得
る。 0 は入力が可能である間に、どんな変換値も代入されな
かったことを示している。典型的な例としては、 `%d' 変換時に
アルファベット文字が入力されたというような入力文字が不適切
であったことが挙げられる。最初の変換の前にファイルの終端文
字 (end-of-file) があって、入力の失敗が生じた場合には EOF
が返される。エラーやファイルの終端文字の出現が変換が始まっ
た後で生じた場合には、成功した変換の個数が返される。
----
何ゆえscanfにこだわるのかな?
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGC++食わず嫌いしてると、負け組みのままよ?
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGやばいやばい
0956デフォルトの名無しさん
NGNGこういうアホがC++の評判悪くするんだよなぁ。( ´д`)
0957デフォルトの名無しさん
NGNGC++でもオブジェクトの中身は混沌状態なんだろうな…
0958デフォルトの名無しさん
NGNG分からなくってのは、ソースを見ない状態でね。
あれあそこどーだったけかなとソースを見ないといけなくなるのが1000行越えてからだた。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG∀≡3 クマー
0968デフォルトの名無しさん
NGNGdouble a;
a=0;
a+=(double)1/3; /*0.3333....*/
a+=1;
a+=1;
a+=(double)1/6; /*0.1666...*/
printf("%f\n",a); /*2.5*/
a+=0.5;
printf("%f\n",a); /*3*/
printf("%d\n",(int)a); /*2*/
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG浮動少数の誤差について勉強しましょう
0971デフォルトの名無しさん
NGNG○小数
0972デフォルトの名無しさん
NGNG「浮動小数点数」
0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNGprintf("%.0f\n", a);
じゃだめか?
09751/2
NGNG(超文になってしまうので、要所要所ははしょってます)
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
char *figure;
int allmonth;
int allday;
int main(int argc, char *argv[])
{
int keisan(char *);
printf("%d/%d は %d日目です。 \n",allmonth,allday,keisan(argv[1]));
}
int keisan(char *figure)
{
char *bundan;
bundan = strtok((char*)*figure,"/");
「月」入力文字数が多過ぎないか判定する文strlen();
bundan = strtok(NULL,"/");
「日」入力文字数が多過ぎないか判定する文strlen();
int month,day;
sscanf(figure,"%d/%d",&month,&day);
以下、システム秒を使い日付を求めたり、返り値をメイン文に返したりする文
}
09762/2
NGNGstrtok関数において、「4/26a」と言った入力をstrlen関数判定し、
再入力をさせたい、と考えています。
ですが、上記のプログラムをprintf等で無駄な表示をさせ、流れを観察してみると、
「bundan = strtok((char*)*figure,"/");」
の時点で、エラーが起きてしまいプログラムが停止してしまいます。
どうやらstrtok文の使い方を間違えている様なのですが、
どの様にすれば、「月」と「日」の部分を、
上手くchar *bundanに格納し、利用する事が可能になるのでしょうか?
0977デフォルトの名無しさん
NGNGそれをアドレスとして渡しているのか全くもって意味不明。
0978デフォルトの名無しさん
NGNGじゃんとも思うが、とりあえずstrtok()は
bundan = strtok(figure,"/");
0979デフォルトの名無しさん
NGNGprintf("%d\n",(int)(a + .5)); /*四捨五入して3*/
0980979
NGNG0981デフォルトの名無しさん
NGNG要所をはしょってどうする
0982デフォルトの名無しさん
NGNG>どうやらstrtok文の使い方を間違えている様なのですが、
その前に、ポインタは理解しているのか?
strtok の引き数、コンパイルエラーになったからって
無理やりキャストしたっぽいぞ。
0983デフォルトの名無しさん
NGNGchar *bundan;
int month, day;
month = strtol(figure, &bundan, 10);
if (*bundan != '/') {
printf("\"/\" がないじゃん!\n");
return 引き数が変;
}
day = strtol(bundan + 1, &bundan, 10);
if (*bundan != '\0') {
printf("\"%c\" て何!\n", *bundan)
return 引き数が変;
}
0984デフォルトの名無しさん
NGNG0985976
NGNG色々とはしょり過ぎて、プログラム全体がみえにくくなってしまって、
本当に申し訳無い。
>>978
教えて頂いた様にやったら、あっさり通りました^^;
有難う御座いました。
>>981
御免なさい_| ̄|○
>>982
はい、もうその通りで御座います_| ̄|○
色々試してみてコンパイルエラー起きてしまったので、
強引にキャストしました。
まだまだC言語も覚えたてなので、
もう少しポインタについても勉強しようと思います。
>>983
strtol関数ですか……また聞いた事の無い関数だ^^;
それについてももう少し調べてみようと思います。
詳細な例文、有難う御座います。
皆様、重ね重ね有難う御座いました。
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG「引き数」と書いてしまうと、「ひきすう」としか読めなくて、
987みたいな「いんすう」ぼけがひっかからなくてつまらないので、
正しく「引数」と書け。>>983
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNGプログラムを知らない香具師に読ませたら
5人中5人「いんすう」だったぞ。
0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGなんだ唐突に。そういう用語があるわけではないと思うが
多次元配列の一番外側(最初の次元)じゃないの?
0995デフォルトの名無しさん
NGNG因数と区別するために「ひきすう」の方がいいと思ったんだよ。
0996デフォルトの名無しさん
NGNGつまり array[2][3] とあれば、[2]の方を言うということでよいのですか?
0997デフォルトの名無しさん
NGNG多分。というかその言葉を発した人に聞いてくれ(笑)
なんかの本?
0999デフォルトの名無しさん
NGNGあの人はキチガイだから時々変なことを言うよ。
だから気にするな。
1000デフォルトの名無しさん
NGNG納得しますた。
確かに「ひきすう」なら他とかぶらないな。
いっそ「ひきかz(ry
ついでに1000
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。