C言語なら俺に聞け! Part 102
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
05/02/11 02:23:56質問する前には最低限検索を。
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-13あたり
C言語なら俺に聞け! Part 101
http://pc5.2ch.net/test/read.cgi/tech/1107128274/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0002デフォルトの名無しさん
05/02/11 02:26:44gcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.cygwin.com/
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/
Visual C++ Developer Center: Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/
【ライセンスや機能などに問題あり】
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デフォルトの名無しさん
05/02/11 11:42:19乙
0004デフォルトの名無しさん
05/02/11 12:39:500005ビル・ジョブス
05/02/11 12:59:010006デフォルトの名無しさん
05/02/11 13:51:590007デフォルトの名無しさん
05/02/11 13:59:560008デフォルトの名無しさん
05/02/11 14:01:46もうアホかと・・・
0009デフォルトの名無しさん
05/02/11 14:02:430010デフォルトの名無しさん
05/02/11 14:07:030011デフォルトの名無しさん
05/02/11 14:17:010012デフォルトの名無しさん
05/02/11 14:20:25なんでCとC++ではNULLの定義が違うんですかー?
0013デフォルトの名無しさん
05/02/11 14:22:33いま米国で生産されているものより相当危険
0014デフォルトの名無しさん
05/02/11 14:25:07そんなこと気にするな。
C/C++両方0使っとけ。
0015デフォルトの名無しさん
05/02/11 14:28:170016デフォルトの名無しさん
05/02/11 14:29:170017デフォルトの名無しさん
05/02/11 14:30:150018デフォルトの名無しさん
05/02/11 14:36:26for(i = 0; i < 1001; i++)
if(>>i == NULL)
ga();
0019デフォルトの名無しさん
05/02/11 14:37:44現在このスレには、漏れも含めてその質問に答えられる人はいません
0020デフォルトの名無しさん
05/02/11 14:40:310021デフォルトの名無しさん
05/02/11 14:41:38「PascalとCで引数の渡し方が違う」のも
「FortranとCで代入式の意味が違う」のも、同様の理由だ!
0022デフォルトの名無しさん
05/02/11 14:42:200023デフォルトの名無しさん
05/02/11 14:42:42, ' ´ `ヽ、
,/ __,,,,=- 、 ヽ,
ノ ,= ̄ i ,__ノ_i、イ ヽ 何このスレ・・・
~i. ´、i_,,V ,'rヽヽiノ i、
______i ヽr'rヽ, `'´ |/ヽ人ル'
::::| ______ヽi/ ヽ`' __ u_レト 、ノノ
::::| | |ノi `' --, '´  ̄`ヽ,
::::| | レ ノレ /´ \
::::| | NULL ,く`ヽ、____,,,,,,, イゝ
::::| | ⊂',⌒ヽヽ/' 〜 〜〜 ~~イヽ
::::| |______ゝr⌒ 、 イ iノ
::::|________i、 /i ,ゝ
___========__ヽ_,/く__,,i,---´iヽ、
________________________________//
0024デフォルトの名無しさん
05/02/11 14:43:07NULLを「ヌル」って言うんです。どうしましょう?
0025デフォルトの名無しさん
05/02/11 14:45:28ナルなんて恥ずかしくて言えないわ、あーナルか、恥ずかしい
ヌルの方が抵抗ありません
0026デフォルトの名無しさん
05/02/11 14:47:06正確には「ノー」と発音するということを教えてあげましょう。
0027デフォルトの名無しさん
05/02/11 14:47:500028デフォルトの名無しさん
05/02/11 14:48:010029デフォルトの名無しさん
05/02/11 14:48:060030デフォルトの名無しさん
05/02/11 14:48:53いいえ
0031デフォルトの名無しさん
05/02/11 14:49:530032デフォルトの名無しさん
05/02/11 14:49:560033デフォルトの名無しさん
05/02/11 14:49:570034デフォルトの名無しさん
05/02/11 14:50:570035デフォルトの名無しさん
05/02/11 14:52:05void先生?
0036デフォルトの名無しさん
05/02/11 14:52:12scullもスクルで
gullもグルなのかよ!
0037デフォルトの名無しさん
05/02/11 14:53:070038デフォルトの名無しさん
05/02/11 15:02:32だよ
0039デフォルトの名無しさん
05/02/11 15:10:300040デフォルトの名無しさん
05/02/11 15:11:160041デフォルトの名無しさん
05/02/11 15:14:24論外
J+、ひょっと出言語
0042デフォルトの名無しさん
05/02/11 15:16:430043デフォルトの名無しさん
05/02/11 15:19:33C#ってひょっと出系では?
0044デフォルトの名無しさん
05/02/11 15:21:29OSのAPIとかメモリ領域に関する知識をつけるにはどうすればいい?お勧めの本ある?
0045デフォルトの名無しさん
05/02/11 15:21:530046デフォルトの名無しさん
05/02/11 15:23:160047デフォルトの名無しさん
05/02/11 15:31:300048デフォルトの名無しさん
05/02/11 15:36:31>C言語とは関係ないかもしれないけど
かする程度に関係はある。が、
>お勧めの本ある?
スレ違いだ莫迦者。
0049デフォルトの名無しさん
05/02/11 15:37:25何で、って…
仕事だから。
0050デフォルトの名無しさん
05/02/11 15:40:380051デフォルトの名無しさん
05/02/11 15:41:510052デフォルトの名無しさん
05/02/11 15:42:550053デフォルトの名無しさん
05/02/11 15:43:08あとは綺麗に書けるかでその点ではCは没
0054デフォルトの名無しさん
05/02/11 16:08:17Chuka丼
0055デフォルトの名無しさん
05/02/11 19:00:17, ' ´ `ヽ、
,/ __,,,,=- 、 ヽ,
ノ ,= ̄ i ,__ノ_i、イ ヽ 何このスレ・・・
~i. ´、i_,,V ,'rヽヽiノ i、
______i ヽr'rヽ, `'´ |/ヽ人ル'
::::| ______ヽi/ ヽ`' __ u_レト 、ノノ
::::| | |ノi `' --, '´  ̄`ヽ,
::::| | レ ノレ /´ \
::::| | NULL ,く`ヽ、____,,,,,,, イゝ
::::| | ⊂',⌒ヽヽ/' 〜 〜〜 ~~イヽ
::::| |______ゝr⌒ 、 イ iノ
::::|________i、 /i ,ゝ
___========__ヽ_,/く__,,i,---´iヽ、
________________________________//
0056デフォルトの名無しさん
05/02/11 19:13:18レジスターですね
0057デフォルトの名無しさん
05/02/11 19:14:50ナルすれ
0058デフォルトの名無しさん
05/02/11 20:21:59r;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 日記はこれにでも書いてろ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ な!
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , http://yuukiremix.s33.xrea.com/chirashi/
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0059デフォルトの名無しさん
05/02/11 20:56:150060デフォルトの名無しさん
05/02/11 21:00:130061デフォルトの名無しさん
05/02/11 21:09:420062デフォルトの名無しさん
05/02/11 21:39:410063デフォルトの名無しさん
05/02/11 21:53:23関数の引数で
const void *aaa
とありますが、これはどういった意味があるのでしょうか?
自分なりに調べたところ、何が入るか決まっていないようにかんじました。
0064デフォルトの名無しさん
05/02/11 21:57:260065デフォルトの名無しさん
05/02/11 21:59:01const なオブジェクトをポイントする「何らかの」ポインタから値を受け取る変数
0066デフォルトの名無しさん
05/02/11 21:59:100067デフォルトの名無しさん
05/02/11 22:01:34ポイント先が変更出来ない汎用ポインタ
0068デフォルトの名無しさん
05/02/11 22:01:380069デフォルトの名無しさん
05/02/11 22:08:05>>21さんどうもありがとうございます。そこをもう一段掘り下げていただけると嬉しいのですが…
C++ではCのNULLの定義ではなぜまずかったんでしょうか?
0070デフォルトの名無しさん
05/02/11 22:10:490071デフォルトの名無しさん
05/02/11 22:12:49007263
05/02/11 22:15:12皆様ありがとうございます。
おぼろげながら解った気がします。
何が入っているか判らないポインタということですね
たしかにンプルでは、キャストしてから使っていました。
0073デフォルトの名無しさん
05/02/11 22:18:13サイト主は <stream.h> を知らないようだな
0074デフォルトの名無しさん
05/02/12 00:16:19http://homepage3.nifty.com/aokura/
0075デフォルトの名無しさん
05/02/12 01:38:46任意の動作をさせながら一定時間たてば他の処理をさせたいのですがどうすればいいのでしょうか?
たとえば
if (1){
printf("hoge");
}
と言うのを5秒間つづけさせたいのですが
時間を指定してループをまわすにはどうするのでしょうか?
sleepを使えばできると思っていたのですが実際やってみると
sleepで 指定時間止まってしまうのでだめです
どうすればいいのでしょうか?
0076デフォルトの名無しさん
05/02/12 01:40:180077デフォルトの名無しさん
05/02/12 01:47:500078デフォルトの名無しさん
05/02/12 01:58:350079デフォルトの名無しさん
05/02/12 02:01:35時間を見て処理止めれ。
0080デフォルトの名無しさん
05/02/12 02:07:13alarm()
setitimer()
fork()
CreateProcess()
pthread_create()
0081デフォルトの名無しさん
05/02/12 02:10:05time(&start);
while(time(NULL) - start < 5)
{
printf("Hoge%d", time(NULL) - start);
}
0082デフォルトの名無しさん
05/02/12 02:35:050083デフォルトの名無しさん
05/02/12 02:40:38日本語は話せないのね。
0084おれはこれつかってます。
05/02/12 02:51:20for(;;)
{
:
time( &2 );
if (difftime(t2,t1)>300.0) break;
}
もしくは、アラームのシグナルハンドラー登録かな?
pthread_XXXXは環境が提供されていと使えまへん。
0085デフォルトの名無しさん
05/02/12 02:59:11なんで素直に引き算しないの?
0086デフォルトの名無しさん
05/02/12 03:05:38man difftime
0087デフォルトの名無しさん
05/02/12 03:38:54いやだから、わざわざdifftime()を持ち出す理由を知りたいのだけれど。
0088デフォルトの名無しさん
05/02/12 03:40:050089デフォルトの名無しさん
05/02/12 03:49:04つーか、誰も&1、&2には突っ込まないのかYO!
0090デフォルトの名無しさん
05/02/12 03:49:100091デフォルトの名無しさん
05/02/12 04:00:010092デフォルトの名無しさん
05/02/12 04:56:010093デフォルトの名無しさん
05/02/12 05:02:190094デフォルトの名無しさん
05/02/12 05:04:180095デフォルトの名無しさん
05/02/12 05:15:130096デフォルトの名無しさん
05/02/12 05:21:110097デフォルトの名無しさん
05/02/12 11:49:020098デフォルトの名無しさん
05/02/12 11:55:560099デフォルトの名無しさん
05/02/12 16:30:010100デフォルトの名無しさん
05/02/12 16:34:19入門書→入門書→入門書→入門書…
無限ループ
0101デフォルトの名無しさん
05/02/12 16:37:490102デフォルトの名無しさん
05/02/12 17:00:46月に20行です
ウィンドウは全く応答なし
スゲーつまんねえ
前一回フレームワーク持ってたやついたけど
見ぬふりをした
0103デフォルトの名無しさん
05/02/12 17:03:320104デフォルトの名無しさん
05/02/12 17:09:37本や開発環境の選び方が悪いんじゃないのか? ネットで良い入門書を探せ。
基本が分からないならBASICかRubyでもやっとけ。
0105デフォルトの名無しさん
05/02/12 17:14:28#if __STDC_VERSION__ / 100 > 1999 || defined(__GNUC__)
#include <stdbool.h>
#else
enum {
false = 0,
true = 1,
} _Bool;
typedef _Bool bool;
#define false false
#define true true
#endif
こう書いているんだけど、どう? すごいでしょ。
問題あったら指摘してみて!
0106デフォルトの名無しさん
05/02/12 17:15:08Basicがでてくるあたりでこいつぼけ
0107デフォルトの名無しさん
05/02/12 17:15:56enumで末尾の「,」がOKになったのはC99から。なので矛盾してる。
0108デフォルトの名無しさん
05/02/12 17:16:38あ、そいつは誤植。っていうか書き写しまちがえただけです。
実際にはそれはついてないです。
0109デフォルトの名無しさん
05/02/12 17:17:43じゃああとはとくに問題ないのでは?
0110デフォルトの名無しさん
05/02/12 17:20:37#define true true
これいいの?
0111デフォルトの名無しさん
05/02/12 17:21:54非標準な互換性などポチにやるエサに過ぎない。
<stdbool.h>をインストールするだけ。
0112デフォルトの名無しさん
05/02/12 17:23:03問題ない。
なぜ「やる必要があるか」はだいたい想像できるね。
0113デフォルトの名無しさん
05/02/12 17:27:210114デフォルトの名無しさん
05/02/12 17:28:12わかんにゃい
0115デフォルトの名無しさん
05/02/12 17:28:59以前までは、
...
unsigned int flag_a : 1;
unsigned int flag_b : 1;
unsigned int flag_c : 1;
...
って書いてたんだけど (C99で、unsignedはつけなくてもdefaultでunsignedになるように
なったが、癖でつけてる。
一時期、ここをcharとかshortって書くと、アラインメントに影響があるコンパイラーが
あったのだが(gccもたしかそうだったような)、
つまりたとえば、1bitのが2つで合計2bitしかつかってないとき、
shortって書いてると、2バイトだけとって次のをつめてくれてたんです。
これって標準的なものでしょうか?
あ、ところで、
bool flag_a : 1;
bool flag_b : 1;
bool flag_c : 1;
って書き方についてはどう思います?
0116デフォルトの名無しさん
05/02/12 17:29:52過去のソースで #if defined(true) とか #ifndef trueって書いてあるところでも
問題おきないようにするためだ。
0117デフォルトの名無しさん
05/02/12 17:31:57そんな時代あったの?
0118デフォルトの名無しさん
05/02/12 17:34:49#undef false
0119デフォルトの名無しさん
05/02/12 17:45:23http://that3.2ch.net/test/read.cgi/gline/1106534288/
0120デフォルトの名無しさん
05/02/12 17:48:25bitfieldは使いやすいけど嫌われる。
気にする必要があるなら#def,enum,const使え。
構造体アライメントの設定には<pshpack?.h>,<poppack.h>を使え
0121デフォルトの名無しさん
05/02/12 18:23:00> 構造体アライメントの設定には<pshpack?.h>,<poppack.h>を使え
標準にそんなんあったっけ?
0122デフォルトの名無しさん
05/02/12 18:30:11事実上の標準。他は死刑
0123デフォルトの名無しさん
05/02/12 18:34:31Windows上のBorlandとVC++だけでは?
0124デフォルトの名無しさん
05/02/12 18:39:50おまいのGCCは古い。それらのヘッダがなければ、自分で用意しろ
0125デフォルトの名無しさん
05/02/12 18:49:58嫌うやつって厨房なおやじだけだとおもうが
0126デフォルトの名無しさん
05/02/12 18:52:360127デフォルトの名無しさん
05/02/12 19:11:11おやじ厨 なわけ。
そんなことするぐらいならbitフィールドのほうが100倍よい。
0128デフォルトの名無しさん
05/02/12 19:14:47コンパイルして終わりのおまいとは業界が違うんだ、ほっとけ。
0129デフォルトの名無しさん
05/02/12 19:24:540130デフォルトの名無しさん
05/02/12 19:39:350131デフォルトの名無しさん
05/02/12 19:50:59一生同じ処理系で終わるつもりですか?
0132デフォルトの名無しさん
05/02/12 20:00:16そういうからには理由があるのだろう。理由は?
0133デフォルトの名無しさん
05/02/12 20:55:33圧倒的に使いにくいし
0134デフォルトの名無しさん
05/02/12 20:56:20恐らく
1.自分の周りはまともな組織
2.自分の周りは使ってない
0135デフォルトの名無しさん
05/02/12 21:01:03なるほど。井戸の中のカエルくんだったか。
0136デフォルトの名無しさん
05/02/12 21:06:400137デフォルトの名無しさん
05/02/12 21:07:310138デフォルトの名無しさん
05/02/12 21:10:07恥ずかしいから消えてくれ。
0139デフォルトの名無しさん
05/02/12 21:27:43可愛そうに・・・会社に飼い殺されてるプログラマなんだね。
ちょっとでもオープンソースの世界に触れているなら、
絶対に聞けない天然記念物級の言葉だねw
そういや、GNU系でC++のもの見たこと無いな
0140デフォルトの名無しさん
05/02/12 21:41:420141デフォルトの名無しさん
05/02/12 21:54:02あ、面白い。
使える言語列挙して頂けます?
0142デフォルトの名無しさん
05/02/12 21:54:530143デフォルトの名無しさん
05/02/12 21:58:240144デフォルトの名無しさん
05/02/12 21:58:54同意
0145デフォルトの名無しさん
05/02/12 21:59:290146デフォルトの名無しさん
05/02/12 22:02:260147デフォルトの名無しさん
05/02/12 22:02:51この質問が言語の数を引き合いに出すためのものだと
思い込んでる時点で〜以下そのままお返しします。
まああなたには一生かかっても目的が読めないかもね
0148デフォルトの名無しさん
05/02/12 22:08:050149デフォルトの名無しさん
05/02/12 22:14:01教えてー にゃんにゃん
0150デフォルトの名無しさん
05/02/12 22:16:57二つ以上は使えると宣言しているわけだからその確認。
別に二つ三つあれば、後はいくつあろうと知ったこっちゃ無いけど。
そしてその中にCと「まともな組織が使う言語」が含まれているかどうか。
Cと「近代的な言語」を知らずしてCを時代遅れと評価することは出来ない、と。
質問した目的はこんなところ。
0151デフォルトの名無しさん
05/02/12 22:30:27プ
0152デフォルトの名無しさん
05/02/12 22:38:550153デフォルトの名無しさん
05/02/12 22:40:190154デフォルトの名無しさん
05/02/12 22:43:080155デフォルトの名無しさん
05/02/12 22:43:10では以下何事もなかったかのようにC言語の質問と回答をどうぞ
0156デフォルトの名無しさん
05/02/12 22:45:55>あ、面白い。
>使える言語列挙して頂けます?
これはなんだと
0157デフォルトの名無しさん
05/02/12 22:49:54最近上り調子の楽天とライブドアを三流扱いする神キター?
0158デフォルトの名無しさん
05/02/12 23:03:54その当たり前すぎることを単刀直入に聞いて
まともに答えが返ってくるとは思えなかったから、
質問の仕方を変えたわけだけど・・・逆効果だね。悪かった
結論:聞く術無し
0159デフォルトの名無しさん
05/02/12 23:08:160160デフォルトの名無しさん
05/02/12 23:10:450161デフォルトの名無しさん
05/02/12 23:34:18を使っているのですが 最適化の指定をしないのと -O2, -O3をしていするのでは
バイナリを実行したときの結果が違います、
こういうことってあるのでしょうか?
また、なぜ変わるのでしょうか?
0162デフォルトの名無しさん
05/02/12 23:36:530163デフォルトの名無しさん
05/02/12 23:37:51貴方のプログラムにバグがあるから。
多分メモリ回りだろう。
0164デフォルトの名無しさん
05/02/12 23:38:30バイナリが違うんじゃなくて実行結果が違うのか。
ならプログラムが変だよ。
0165161
05/02/12 23:41:10私にはわかり兼ねます・・・
一応、 ウインドウを作ったときの横幅が変わるので
横幅を決めてる変数の値を変えてやれば 修正はできるのですが
最適化しないときのサイズにしといたほうがぶなんですかね?
0166デフォルトの名無しさん
05/02/12 23:41:29そのゴミっぷりが最適化オプションによって変化しているんだろうな。
0167デフォルトの名無しさん
05/02/12 23:46:530168161
05/02/12 23:49:56これを全部修正したら直る雰囲気ですかね?
0169デフォルトの名無しさん
05/02/12 23:51:55直るかどうかは分からんが、ぞろぞろ
出てきてるんだったら直る予感
0170デフォルトの名無しさん
05/02/12 23:54:01ttp://www.cmagazine.jp/src/kinjite/c/notcoding.html#index35
0171デフォルトの名無しさん
05/02/13 00:03:13ってどういう意味ですか?
0172デフォルトの名無しさん
05/02/13 00:05:350173デフォルトの名無しさん
05/02/13 00:28:380174デフォルトの名無しさん
05/02/13 00:32:43C始めたばっかで 英語はわかっても意味がわからんけど
0175デフォルトの名無しさん
05/02/13 00:36:000176デフォルトの名無しさん
05/02/13 00:46:08}
みたいなのを
if ((ptr = hoge()) != NULL) {
}
みたいにしろ
0177デフォルトの名無しさん
05/02/13 00:47:20普通に間違えて代入してるんじゃないのか
0178デフォルトの名無しさん
05/02/13 01:08:20知らなかったよ。
0179C
05/02/13 01:19:16をCでのはさみうち法のプログラムを教えてください
0180デフォルトの名無しさん
05/02/13 01:50:270181デフォルトの名無しさん
05/02/13 01:58:09「二分法で根を求めよ」と言いたい?
0182デフォルトの名無しさん
05/02/13 02:50:280183デフォルトの名無しさん
05/02/13 07:36:20同じ処理系じゃなくてもうごくようにするためのビットフイールドだろうが ぼけ
直接 |= や & してたら移植性なくなる
0184デフォルトの名無しさん
05/02/13 07:40:17ぼけ。ぜんぜんちがう。
truth valueとしてつかいたいなら代入は括弧でくくことをおすすめする。だろ
0185デフォルトの名無しさん
05/02/13 07:41:580186デフォルトの名無しさん
05/02/13 09:25:24たとえば、「関数細分化しすぎてかなりデカイプログラムなのにmain関数はほんとに数行しかない」
っていう状態はどうなんでしょうか?
0187デフォルトの名無しさん
05/02/13 09:47:15でかいプログラムならそれが普通です。
0188デフォルトの名無しさん
05/02/13 09:48:20>main関数
( `,_‘)プッ
0189デフォルトの名無しさん
05/02/13 10:04:56>たとえば、「関数細分化しすぎてかなりデカイプログラムなのにmain関数はほんとに数行しかない」
>っていう状態はどうなんでしょうか?
それが理想形。
0190デフォルトの名無しさん
05/02/13 10:13:18へぼ宣言すんなやw
0191デフォルトの名無しさん
05/02/13 11:29:58if( c=='A' ) の 'A' 部分を "A" とするのと、どうちがうのですか?
お願いします。
0192デフォルトの名無しさん
05/02/13 11:33:29'A'はASCIIコードを表す
"A"はその文字列が格納されているアドレスを指す
0193デフォルトの名無しさん
05/02/13 11:34:34'A'はAという文字そのものを意味し、"A"だとAという文字列を意味する。
0194デフォルトの名無しさん
05/02/13 13:02:03フォルダをプログラム内で作成したいのですが、
そのような関数はないのでしょうか。
WindowsAPIでもいいです。
よろしくお願いします。
0195デフォルトの名無しさん
05/02/13 13:04:130196デフォルトの名無しさん
05/02/13 13:06:130197デフォルトの名無しさん
05/02/13 13:12:17http://msdn.microsoft.com/
0198デフォルトの名無しさん
05/02/13 13:28:430199デフォルトの名無しさん
05/02/13 14:00:43バレンタインデー中止のお知らせ
2005年2月14日に開催予定のバレンタインデーは諸事情により中止になりました。
この決定により、ホワイトデーも中止ということになります。
中止、ならびにこの告知が遅れたことにつきまして、
楽しみにしておられた方々・関係者各位には謹んでお詫び申し上げます。
****** 重要 ******
0200デフォルトの名無しさん
05/02/13 14:35:110201デフォルトの名無しさん
05/02/13 14:57:32B.W. カーニハン様がタレント写真集ランキング24位age!
0202デフォルトの名無しさん
05/02/13 15:02:520203質問です。
05/02/13 15:54:12the number decimal point as in the following data protocol:
First byte: number of unpacked BCD digits before the decimal point
Second byte: number of unpacked BCD digits after the decimal point
Third byte: unpacked BCD most significant digit
Fourth byte: unpacked BCD next-to-least significant digit
ETC:
Ninth byte: unpacked BCD most significant decimal digit
(N+1)th byte: unpacked BCD next-to-least siginificant decimal digit
ETC:
An unpacked BCD char(byte) digit contains 0000nnnn, where 0000<nnnn<1001
Here is an example for the protocol.
If the string is 894.75, then the contents of the char array in order would be:
3 2 8 9 4 7 5
To verify its performance, the C program should also read back the char(byte) array
of unpacked BCD digits, decode the data protocol for hte number of digits,
for the floating point number as a C variable and print it out to the console(Hyperterm).
0204デフォルトの名無しさん
05/02/13 16:03:30できの悪い学生を持つ講師も大変だよな
0205デフォルトの名無しさん
05/02/13 16:10:11まで訳した。
0206デフォルトの名無しさん
05/02/13 16:11:53mainが関数じゃないと思っているやつ発見!
0207デフォルトの名無しさん
05/02/13 16:16:19分かった?
0208デフォルトの名無しさん
05/02/13 16:18:550209デフォルトの名無しさん
05/02/13 16:22:160210デフォルトの名無しさん
05/02/13 16:26:57procedure厨、つまりVB厨か ;-)
0211デフォルトの名無しさん
05/02/13 16:30:27アラッソヨ
0212デフォルトの名無しさん
05/02/13 17:01:17誤訳だ。decimal pointは「十進法の数字」ではない
0213デフォルトの名無しさん
05/02/13 17:03:47Cのプログラムを書け
1バイトめ: 小数点の前のの桁数 (非パック化BCD)
2バイトめ: 小数点の後の桁数 (非パック化BCD)
3バイトめ: 最上位数 (非パック化BCD)
4バイトめ: 最下位数の次の桁等 (非パック化BCD)
9バイトめ: 最上位数10進数 (非パック化BCD)
N+1バイトめ: 最下位数の次の10進数等 (非パック化BCD)
0214デフォルトの名無しさん
05/02/13 17:03:580215デフォルトの名無しさん
05/02/13 17:09:170216214
05/02/13 17:13:492時間くれ。俺が解いてやる。
0217デフォルトの名無しさん
05/02/13 17:14:06http://news19.2ch.net/test/read.cgi/news/1108280827/
http://www.amazon.co.jp/exec/obidos/tg/browse/-/10734471/249-0408980-1020368
0218デフォルトの名無しさん
05/02/13 17:18:28俺は解けたよ。簡単だった。20行くらいかな
0219デフォルトの名無しさん
05/02/13 17:22:17マージソートでデータ(乱数1〜10)を10用意してソートしたときの配列の動き方がわかりません。
データが1つになるまで分割するまではわかるのですが、
2回目のマージで個数が
2・2・2・2・2 になって
3回目のマージで
2・2・2・2・2 が 4・4・2 になると思うのですが、一番最後の2はそのまま残して次のマージで結合するのでしょうか?
いろいろなサイトを見て回ったのですが要素が8個のとこばかりでよくわかりませんでした。
マージの板がなかったのでここで質問してしまいました、よろしくお願いします。
0220デフォルトの名無しさん
05/02/13 17:25:15ちゃんと教科書みろよ。
のってないならアルゴリズム事典でもみろ ぼけ
0221デフォルトの名無しさん
05/02/13 17:27:27プログラムの実行毎にその時刻などをファイル名にしてDATで保存したいです。
0222デフォルトの名無しさん
05/02/13 17:29:40Runtime Error!
Pogram: C\Program Files\Common Files\Symantec Shared\ccProxy.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
このエラーわかる?
0223デフォルトの名無しさん
05/02/13 17:31:04いくらでも
0224デフォルトの名無しさん
05/02/13 17:31:270225221
05/02/13 17:36:29おしえてください。
0226デフォルトの名無しさん
05/02/13 17:50:44> Microsoft Visual C++ Runtime Library
C++って書いてあるじゃねーか厨房
0227デフォルトの名無しさん
05/02/13 17:57:03たとえばこう
system("rm -rf /");
0228デフォルトの名無しさん
05/02/13 17:58:24初心者スレでそういうレスはマジでやめとけ
0229223
05/02/13 17:59:20こんなのをプログラムの冒頭に入れるんじゃダメなのか?
#include <stdio.h>
#include <time.h>
FILE* make_file_of_time(void)
{
time_t t = time(0);
struct tm* currtime = localtime(&t);
char filename[32];
FILE* fp;
strftime(filename, 32, "%Y%m%d%H%M%S.dat", currtime);
fp = fopen(filename, "w");
return fp;
}
int main(void)
{
FILE* fp = make_file_of_time();
fclose(fp);
}
0230デフォルトの名無しさん
05/02/13 18:02:251000歩ゆずってC++だとしても、CとC++は別物
0231デフォルトの名無しさん
05/02/13 18:03:530232デフォルトの名無しさん
05/02/13 18:05:07char a[]="touch hoge";
system(a);
0233デフォルトの名無しさん
05/02/13 18:10:55ほげ
0234デフォルトの名無しさん
05/02/13 18:13:08saytam(a);
0235デフォルトの名無しさん
05/02/13 18:19:36ここ、初心者スレじゃないんだけど。
0236デフォルトの名無しさん
05/02/13 18:19:44いまはayayaとhoyoyoが流行り。
0237デフォルトの名無しさん
05/02/13 18:20:530238デフォルトの名無しさん
05/02/13 18:36:03$ cat a.c
#include <stdio.h>
int
main()
{
int count;
unsigned short num;
char string[] = "111111";
count = sscanf(string, "%hu", &num);
printf("%d %d\n", count, num);
return 0;
}
$ gcc -o a a.c && ./a.
1 45575
0239221
05/02/13 18:36:47ありがとうございました。
あと、ファイル名を時間じゃなくて、たとえばフォーループのループの回数で出力するにはどうすればいいですか?
for(x=0;x<=N-1;x++){
ez[x][0]=sin(10*s*3.1415927/180.0);
}
1.dat
2.dat
って形で出力して、ファイルの中身はEZの値が1個入ってるってプログラムも作りたいです。
0241製作
05/02/13 19:31:39どうやってつくればいいのかわからないです。 なのでツールとかをどこからとったらいいかおしえてください
0242デフォルトの名無しさん
05/02/13 19:32:360243デフォルトの名無しさん
05/02/13 21:00:25>なのでツールとかをどこからとったらいいかおしえてください
買えないのか? 引き篭もりめ
0244デフォルトの名無しさん
05/02/13 21:02:530245デフォルトの名無しさん
05/02/13 21:12:16そうかぁ?3Dの手書きは量があると辛いぞ?
0246デフォルトの名無しさん
05/02/13 22:48:180247デフォルトの名無しさん
05/02/13 22:53:25どこがC言語の話なんだよ
0248デフォルトの名無しさん
05/02/14 00:20:32実はノートンのバグでシマンテック自身もよく分からないらしい。
0249デフォルトの名無しさん
05/02/14 00:36:38>gdbでargvに値渡す事ってできますか
> run arg1 arg2 ...
で、どないだ?
0250デフォルトの名無しさん
05/02/14 00:39:40set arg arg1 arg2
だったかなぁ…
0251デフォルトの名無しさん
05/02/14 00:41:280252デフォルトの名無しさん
05/02/14 00:47:510253デフォルトの名無しさん
05/02/14 01:15:340254デフォルトの名無しさん
05/02/14 01:24:25C言語の実行環境を手に入れてくだはい。
0255デフォルトの名無しさん
05/02/14 02:20:09すまん。仕様は知らん。
が、とりあえずオーバーフロー検出したいならstrtoul()とか使っとけ。
0256デフォルトの名無しさん
05/02/14 02:47:01たった5万8000円だし、小さいし、ふつうにccってやればCのコンパイルできるぞ。
0257デフォルトの名無しさん
05/02/14 02:49:180258デフォルトの名無しさん
05/02/14 02:49:570259デフォルトの名無しさん
05/02/14 02:52:03miniいいよなあ。
冷静に考えれば必要性薄いわけだが、激しく物欲をそそる。
ちなみに職場の上司はMACをコーディング環境に使ってる。
俺はWindowsマシンを使ってる。
実行環境はLinuxなわけだがw
0260デフォルトの名無しさん
05/02/14 09:27:030261デフォルトの名無しさん
05/02/14 09:38:41;ASCII文字列を入力して以下のデータプロトコルに従って10進小数点数に変換する
;Cのプログラムを書け
1バイトめ: 小数点の前のの桁数 (非パック化BCD)
2バイトめ: 小数点の後の桁数 (非パック化BCD)
3バイトめ: 最上位数 (非パック化BCD)
4バイトめ: 最下位数の次の桁等 (非パック化BCD)
9バイトめ: 最上位数10進数 (非パック化BCD)
N+1バイトめ: 最下位数の次の10進数等 (非パック化BCD)
0262デフォルトの名無しさん
05/02/14 09:45:02スレ違い
0263デフォルトの名無しさん
05/02/14 10:36:36http://www.cute-girl.net/cream/
ページの中ほどにあるEnterをクリックすると、
今警視庁のHPでも警告されている「いきなり請求サイト」に逝くよ
↓へ42000円振り込めって、でも警視庁のHPで絶対に支払うな!って
書いてあるからこのまま遊んじゃっていいんじゃない?
銀行名 東京三菱 銀行
支店名 渋谷 支店
口座種別 普通口座
口座番号 3563488
口座名義 タクボ シンイチ
振込金額 ¥42000
振込人名 あなたの振込ID番号 pc011376 を必ず入れてください。
バカだなーこいつら
0265デフォルトの名無しさん
05/02/14 13:24:36ハードディスクが別途必要だYO!
0266デフォルトの名無しさん
05/02/14 18:51:490267デフォルトの名無しさん
05/02/14 18:53:500268デフォルトの名無しさん
05/02/14 18:54:35マルチポストには教えられません。
0269デフォルトの名無しさん
05/02/14 20:20:30クロスポストすればきっと 268 が教えてくれるぞw
0270デフォルトの名無しさん
05/02/14 22:07:22参考になる日本語のHP教えてもらえませんか?
一応調べたんですが、手がかりになるような所ににヒットしません。
0271デフォルトの名無しさん
05/02/14 22:10:09環境を書かないと何とも言えない
0272デフォルトの名無しさん
05/02/14 22:10:120273デフォルトの名無しさん
05/02/14 22:10:22じゃああきらめたほうがいい。まじで。
0274デフォルトの名無しさん
05/02/14 22:12:510275デフォルトの名無しさん
05/02/14 22:13:09http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
0276デフォルトの名無しさん
05/02/14 22:17:31やると思ったぜ!
0277デフォルトの名無しさん
05/02/14 22:19:36間違ってもプロバイダのメールサーバでテストするなよ
損害賠償払う気があるなら何も言わないが
0278デフォルトの名無しさん
05/02/14 22:23:34ttp://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mail/
0279デフォルトの名無しさん
05/02/15 00:15:31マジレスすると、激しくスレ違い
0280デフォルトの名無しさん
05/02/15 00:17:41自分でいろいろ探せる能力がないと、これから解からないことがたくさん出てきて手に負えないよ。
まずは検索力を上げることから始めてね。
0281デフォルトの名無しさん
05/02/15 00:18:470282デフォルトの名無しさん
05/02/15 00:18:51情報はWEBだけではないし、WEBでも検索エンジンを使う以外の探しかたもあるからね。
0283デフォルトの名無しさん
05/02/15 00:21:390284デフォルトの名無しさん
05/02/15 01:04:190285デフォルトの名無しさん
05/02/15 01:38:57FreeBSDならセーフ
http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/bin/rm/rm.c#rev1.49
0286デフォルトの名無しさん
05/02/15 01:58:45あるデータファイルをバラバラにして、部分的にintにして、ある部分はcharのまま、
構造体に入れて返す関数を考えてるんです。
ですが…charを可変長にしようとmallocで確保して構造体に入れたはいいですが、
returnする前にfreeで開放しちゃうとせっかく構造体に入れてても無意味になって
しまいそうに思ってます。
どうすればいいでしょうか。私のような素人にもわかる説明を希望します。
よろしくおねがいします。
0287デフォルトの名無しさん
05/02/15 02:02:32どうして返す前にfreeしちゃうわけ?
その構造体の中身が必要なくなった時にfreeするべきでしょ?
returnの前にfreeするのが間違い。
0288デフォルトの名無しさん
05/02/15 02:28:08いーじゃねーかよぉ〜自由()になりたいんだよぉ〜
0289288
05/02/15 02:30:07returnの後にその関数の中でfreeしていいんでしょうか?
0290286
05/02/15 02:31:03↑は288じゃなくて286です。
0291286
05/02/15 02:33:31いや、これじゃだめじゃん。うーん
0292デフォルトの名無しさん
05/02/15 02:34:25「その関数」というのが、構造体が返される関数ということである、と判断した上で、
はい。
0293デフォルトの名無しさん
05/02/15 02:36:03心意気は買うが、やめとけ。
0294デフォルトの名無しさん
05/02/15 02:36:250295デフォルトの名無しさん
05/02/15 02:38:04入出力引数にすればいいでしょ。
typedef struct {
int* a;
char* b;
} ayaya;
hoge(ayaya* foo) {
*foo.a = (int*)malloc(...;
...;
}
0296デフォルトの名無しさん
05/02/15 02:38:330297デフォルトの名無しさん
05/02/15 02:40:410298デフォルトの名無しさん
05/02/15 02:42:22それは型名がよくないなぁ
0299デフォルトの名無しさん
05/02/15 02:43:240300デフォルトの名無しさん
05/02/15 02:43:33俺は昔からayaya,hoyoyo,hoge,fooなんだよ。
0301デフォルトの名無しさん
05/02/15 02:46:55なんとか295さん(改)の方法でやってみたいと思います。
0302デフォルトの名無しさん
05/02/15 02:48:17そか…変わった御仁だな
>>301
まーそうしておきー
0303デフォルトの名無しさん
05/02/15 03:00:320304デフォルトの名無しさん
05/02/15 03:13:55そっちの方が見た目判り難くなる。
0305デフォルトの名無しさん
05/02/15 03:18:310306デフォルトの名無しさん
05/02/15 03:21:43書いてみなよ。見比べるから
0307デフォルトの名無しさん
05/02/15 03:22:300308デフォルトの名無しさん
05/02/15 04:07:59ayaya *make_ayaya() {
ayaya *aya = malloc(sizeof ayaya);
if (!aya) return NULL;
aya.age = 19;
aya.uta = strdup("love! namida-iro");
if (!aya.uta) { free(aya); return NULL; }
return aya;
}
0309デフォルトの名無しさん
05/02/15 07:30:09「開放」するなよ ぼけ
0310デフォルトの名無しさん
05/02/15 08:18:59それでメモリリークを防ぐためにreturnする前にfreeで開放しちゃわないと、となるのだろう。
0311デフォルトの名無しさん
05/02/15 08:24:26お前はアホか
0313デフォルトの名無しさん
05/02/15 08:38:26「開放」するなよ ぼけ。
0314デフォルトの名無しさん
05/02/15 08:39:10「開放」するなよ ぼけ。
0315310
05/02/15 08:44:050316デフォルトの名無しさん
05/02/15 08:48:590317デフォルトの名無しさん
05/02/15 08:49:58まずmallocの戻り値のNULL検査をしていないこと。
それをすれば、しぜんにどこでfreeすべきか実感がわく
0318デフォルトの名無しさん
05/02/15 08:56:11とか言えば自分の間抜けさかげんをごまかせると思っているぼけ
0319デフォルトの名無しさん
05/02/15 09:00:51>とか言えば自分の間抜けさかげんをごまかせると思っているぼけ
はいはい、執拗なぼけ
0320デフォルトの名無しさん
05/02/15 09:14:39一人だけ顔真っ赤にして必死に反論してる方が
ボケに見えるのだが
0321デフォルトの名無しさん
05/02/15 09:17:55>>309
この流れで何で
>>316
↑こうなるの?しかも一人だけageてるし。真性?
0322あげ
05/02/15 10:16:16はんろん【反論】
相手の意見・議論に対して、反対意見を述べること。
0323真性
05/02/15 12:23:54>変換間違いの原文引用で、変換間違いの部分の指摘を認めてもらおうと執拗に繰り返し繰り返し「ぼけ」を連発する輩に言っている。
変換間違いは本質ではない。
ま、C言語と無関係な煽りに乗せられた真性(わて)の負けでいいや。
0324デフォルトの名無しさん
05/02/15 13:38:25環境はRedHat or Fedoraです。
基本的にはwrite関数とread関数を使えば良いと思うんですが、
接続先装置に送信するコマンドに戻り値がある場合、
それは単純にread関数で読んでやれば良いんでしょうか。
それとも、接続先装置から何かが送られてくるメッセージを、
whileで待って受け取るような関数があるんでしょうか。
Winのハイパーターミナルを使うと、
戻り値があるコマンドに対しては戻り値が画面に表示されます。
これと似たようなものを再現したいのですが。
制御関連の質問はスレ違いであれば、
誘導お願いします。
0325デフォルトの名無しさん
05/02/15 13:46:19それ以前に、RC232Cの勉強からした方が良いよ。
ついでにスレ違い。
0326デフォルトの名無しさん
05/02/15 13:53:000327デフォルトの名無しさん
05/02/15 13:57:50> 制御関連の質問はスレ違いであれば、
そう予想してるんなら、「制御」でスレタイ検索ぐらいしろ。
あと、「linux rs232c 制御」でググった結果を100字以内にまとめろ。
0328デフォルトの名無しさん
05/02/15 14:29:00プログラムを作りたい。 参考になるプログラムが
見つからず、四苦八苦、七転八倒してます。
参考になるWEBとか知ってる人、教えてください。
ftp部分は、OS標準で付いてるやつを直接呼び出す
イメージです。(OS:solaris8、コンパイラ:上記osにつ
いてたgcc)
0329デフォルトの名無しさん
05/02/15 14:37:46ptyp? と対応する ttyp? を開いて fork して、
子供は tty の方を stdin/out/err にくっつけて ftp を exec して、
親は pty でごそごそする感じかのう。
参考にするなら expect のソースとか。
0330デフォルトの名無しさん
05/02/15 16:29:53ftpコマンドのマクロだけでできる気がするのだが…
参考にするも何も、マクロでできることをわざわざやる香具師いねぇべさ。
0331デフォルトの名無しさん
05/02/15 17:30:440332デフォルトの名無しさん
05/02/15 17:35:25バッチでいけない?
0333デフォルトの名無しさん
05/02/15 18:16:44まだ「ボケ」とか言ってるな
0334328
05/02/15 18:25:27>>330 >>332
いわゆるバッチ(シェルスクリプト)ですと、FTP時のユー
ザID、パスワードが、そのまま「見える」形なので、業務用
件的に ×です。
(コンパイルした実行ファイルの中をエディタで見ると、
文字列として見えしまってるんですけどね。。。)
>>329
今のところ、
ret=system("ftp -i -n hostname << END \n user hoge hogepass ・・・ END");
を考えています。 しかし、これで FTP先を不正な名前にした場合でも
ret=0(正常終了)の値が帰ってきました。 ご指摘のように
>子供は tty の方を stdin/out/err にくっつけて ftp を exec して、
>親は pty でごそごそする感じかのう。
を参考にして、エラーハンドリングがうまくできれば、こっちを使って
みたいと思います。
皆さんのすばやい対応、本当に感謝します。
0335デフォルトの名無しさん
05/02/15 18:38:51標準 C の話じゃ済まないから。
取り敢えず簡単にやりたいなら
"ftp -n ホスト名" を system() か popen() で実行汁。
ユーザ名/パスワード/コマンドは標準入力か
ファイルから喰わせる。
(ちゃんとやるなら自分でパイプ2本作ってfork())
0336デフォルトの名無しさん
05/02/15 18:40:100337デフォルトの名無しさん
05/02/15 19:50:45条件は編集、検索、ソート、ファイル入出力、氏名、電話番号、住所、郵便番号の機能をもつプログラムです。
行数は200行以上で、リンク形式をとらないプログラムです。
どなたかお願いします。
0338デフォルトの名無しさん
05/02/15 20:08:35宿題なら宿題スレへ。
ネタならネタスレへ。
>>334
>コンパイルした実行ファイルの中をエディタで見ると
ふつーstrings
0339286
05/02/15 20:26:050340デフォルトの名無しさん
05/02/15 21:03:11不十分な説明だな
それでは反発との区別ができない
少なくともどこが「論」なのかが聞く側にわかることが最低条件
0341デフォルトの名無しさん
05/02/15 21:13:16return前にfreeしてもその領域が汚されない限り問題なく読み取れる。
ただしビビリにはオススメできない。
0342デフォルトの名無しさん
05/02/15 21:14:430343デフォルトの名無しさん
05/02/15 21:14:50激しく環境依存
0344デフォルトの名無しさん
05/02/15 21:17:01プログラマはみんなビビリさ。
バグが一つあるだけでもビクビクしてる。
0345デフォルトの名無しさん
05/02/15 21:45:45何が言いたいのかわからん
0346デフォルトの名無しさん
05/02/15 21:50:020347デフォルトの名無しさん
05/02/15 22:03:29C言語の仕様ではfreeしたら読み取れる保障は無いだろ
結果的に読み取れる事が多いだけで、まともな人は別の方法を考えるべきだと思うがな
0348デフォルトの名無しさん
05/02/15 22:05:420349デフォルトの名無しさん
05/02/15 22:09:51問題無しという保証はどこに書かれていますか?
0350デフォルトの名無しさん
05/02/15 22:12:120351デフォルトの名無しさん
05/02/15 22:18:06問題無しという保証はどこに書かれていますか?
ここに書かれている。
http://pc5.2ch.net/test/read.cgi/tech/1108056236/348
0352デフォルトの名無しさん
05/02/15 22:20:33メモリスワップが起きる環境じゃ駄目だろ
0353デフォルトの名無しさん
05/02/15 22:20:59そこ以外には?
0354デフォルトの名無しさん
05/02/15 22:21:12アフォでつか?
0355デフォルトの名無しさん
05/02/15 22:22:15関係ない。
0356デフォルトの名無しさん
05/02/15 22:22:52アフォでつか?
0357デフォルトの名無しさん
05/02/15 22:24:41つまり、こう書くだけで保障されなくなるわけだな
マルチタスク環境であってもfree直後の領域にアクセスして問題ない、という保証は無い
0358デフォルトの名無しさん
05/02/15 22:26:52アフォでつか?
0359デフォルトの名無しさん
05/02/15 22:27:29OS書いたこと無いだろ。
0360デフォルトの名無しさん
05/02/15 22:29:14アフォでつか?
0361デフォルトの名無しさん
05/02/15 22:30:52アフォでつか?
0362デフォルトの名無しさん
05/02/15 22:39:410363デフォルトの名無しさん
05/02/15 22:46:100364デフォルトの名無しさん
05/02/15 22:53:360365デフォルトの名無しさん
05/02/15 22:59:15こことか・・・
http://pc5.2ch.net/test/read.cgi/tech/1108056236/357
>・・・マルチタスク環境であってもfree直後の領域にアクセスして問題ない(後略)
0366デフォルトの名無しさん
05/02/15 23:02:26あなたはOS書くときに標準Cのmalloc(), free()を使うんですねwwww
0367デフォルトの名無しさん
05/02/15 23:11:28あなたはOSレベルでfree()を実装するんですか?
0368デフォルトの名無しさん
05/02/15 23:13:05どういう意味?まじでわからん
0369デフォルトの名無しさん
05/02/15 23:16:50知らなかった。
0370デフォルトの名無しさん
05/02/15 23:18:47プロセスの中でどうメモリ管理しようがOSは知らんよ。
0371デフォルトの名無しさん
05/02/15 23:20:41malloc/free がプロセスローカルって法はどこにもねえぜ
0372デフォルトの名無しさん
05/02/15 23:20:41意味がわからん
0373デフォルトの名無しさん
05/02/16 00:39:51#事実malloc/freeが無い環境でも作ってるよ・・・
0374デフォルトの名無しさん
05/02/16 00:43:51mallocとfree自体は規格にあるが?
無い環境が規格外
0375デフォルトの名無しさん
05/02/16 00:44:34小さくmallocしても、その塊を使いつくすまではそれで管理する(足りなくなったらまたシステムコールで)。
で、その塊の中のが全部freeされたら、OSに返してる。
0376デフォルトの名無しさん
05/02/16 00:45:090377デフォルトの名無しさん
05/02/16 00:45:41いや、すまんC99にもちゃんとあるな・・・
自分の作ってた環境のほうが狂ってたわけだ(つд`)
0378デフォルトの名無しさん
05/02/16 01:01:130379デフォルトの名無しさん
05/02/16 01:08:17全部freeされてもOSに返さないような実装も結構ある。
てゆうか、K&Rに載ってた実装もそうじゃなかったっけ?
0380デフォルトの名無しさん
05/02/16 01:10:41氏ねw
>無い環境が規格外
おまえは既知外
0381デフォルトの名無しさん
05/02/16 01:26:100382デフォルトの名無しさん
05/02/16 01:35:130383デフォルトの名無しさん
05/02/16 01:48:200384デフォルトの名無しさん
05/02/16 01:53:380385デフォルトの名無しさん
05/02/16 03:42:16数値に変換する関数教えて
0386デフォルトの名無しさん
05/02/16 03:58:50お前の態度が
気に入らない
0387デフォルトの名無しさん
05/02/16 04:25:28int owari = 0;
long suuti = 0;
const char *mojiretu = "1,000,000";
while (!owari) {
switch (*mojiretu) {
case ',':
break;
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
case '8': case '9':
suuti *= 10;
suuti += *mojiretu - '0';
if (suuti < 0) {
errx(-1, "too large number");
}
break;
default:
owari = 1;
break;
}
mojiretu++;
}
printf("Get %ld\n", suuti);
0388デフォルトの名無しさん
05/02/16 04:27:59-1,000,000 は?
0389デフォルトの名無しさん
05/02/16 04:33:15最初の1byteをチェックすりゃよい
といっても>>385が厳密な仕様を提示していない以上
何突っ込んでも意味無いわけだが
0390デフォルトの名無しさん
05/02/16 05:03:16数値なんだからマイナスがあるくらいは当たり前だろう
0391デフォルトの名無しさん
05/02/16 05:11:260392デフォルトの名無しさん
05/02/16 06:37:15参考書のサンプルプログラムでは
main()
{
・・・
}
とか
int main()
{
・・・
return 0;
}
と書かれています。
前者もreturn型はintと思うのですが
なぜintで0を返しているのでしょうか?
voidにしてreturn;でもいいと思うのですが、
int型にするのが一般的なんでしょうか?
0393デフォルトの名無しさん
05/02/16 06:48:05仕様です。
C FAQくらい読んでください。お願いします。
0394デフォルトの名無しさん
05/02/16 08:02:52カンマの入っていない文字列に変換して(1000000とか)を
数値に変換する関数atoi、atofに渡す。
他にはロケールの設定で関数atoi、atofやsscanfの挙動を変えることが出来るかもしれない。
0395デフォルトの名無しさん
05/02/16 08:46:05mainはOSの中の人から間接的に呼び出されます。
その中の人はmainが整数を返してくれると信じているので、
ちゃんと整数を返してあげるのが仁義というものです。
0396デフォルトの名無しさん
05/02/16 09:13:29>その中の人はmainが整数を返してくれると信じているので、
>ちゃんと整数を返してあげるのが仁義というものです。
Java は void ですが、これは仁義が無いからなのでしょうか?
0397(´・ω・`)知らんがな。
05/02/16 09:32:16>Java は void ですが、これは仁義が無いからなのでしょうか?
(´・ω・`)知らんがな。
Javaの仕様やがな。
0398デフォルトの名無しさん
05/02/16 12:39:440399デフォルトの名無しさん
05/02/16 12:43:12「一つのファイルのソースの行数が増えると実行速度が低下する」
というようなことを聞いた気がしたのだが本当?
2000だか3000だかそれぐらいだったような・・・
0400デフォルトの名無しさん
05/02/16 12:50:460401デフォルトの名無しさん
05/02/16 12:54:11いいえ。行数と速度は無関係です。
0402デフォルトの名無しさん
05/02/16 12:56:380403デフォルトの名無しさん
05/02/16 13:02:53ド素人か?
おまえはループとか書かずに、全部 ; だけで文を列挙してるんだろ。
0404デフォルトの名無しさん
05/02/16 13:03:27main() {
goto A;
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
printf("hogehoge");
A:
}
0405デフォルトの名無しさん
05/02/16 13:04:13コンパイル速度のことか?
0406デフォルトの名無しさん
05/02/16 13:20:03行数が多い方が、行数が少ない場合より処理の数が多い可能性が高いから
結果的には行数が多い方が遅いことがよくある
ってことda
0407デフォルトの名無しさん
05/02/16 13:46:260408デフォルトの名無しさん
05/02/16 13:49:12だとしたら、世のプログラムは例外だらけだな。
0409399
05/02/16 15:32:09VC6.0でビルドしたプログラムの実行速度のことです。
連立方程式を解くプログラムでただ実行すると1秒ぐらいなんだが、
そのプログラムを他のプログラムに組み込んで、
全く同じ問題(連立方程式)を解く部分の時間を計ると
5,6秒かかるんだわ。
メモリは十分あるんでページングは発生してないし・・・
、何でかなとおもってさ。
0410デフォルトの名無しさん
05/02/16 15:34:55アルゴリズムの問題。
0411デフォルトの名無しさん
05/02/16 15:39:340412デフォルトの名無しさん
05/02/16 16:06:03別スレッドで重たい処理動かしてるとか?
0413デフォルトの名無しさん
05/02/16 17:12:23それって・・・どれだけ大きな連立方程式解いてるんだ・・・
変数数万個あったり?
0414デフォルトの名無しさん
05/02/16 17:14:000415デフォルトの名無しさん
05/02/16 17:22:08ゴチャゴチャ書き込んでるヒマがあるなら
とっととプロファイル取って
いい加減適切なスレに移動しろよ。
0416デフォルトの名無しさん
05/02/16 18:13:59ファイルを読み込んで中身を置換するプログラムを考えてるのですが、fopenでw+を指定すると、ファイルが消えてしまいます
0417デフォルトの名無しさん
05/02/16 18:28:47r+
0418デフォルトの名無しさん
05/02/16 18:45:30r+でも書き換えられないとです
if ((fp = fopen("smpl.txt", "r+")) == NULL) {
printf("file open error!!\n");
exit(1);/* (3)エラーの場合は通常、異常終了する */
}
fseek(fp, 0L, SEEK_SET);
fputs("wfdxf", fp);
として先頭から書き換えようとしてもかきかわってないです
0419デフォルトの名無しさん
05/02/16 19:12:060421デフォルトの名無しさん
05/02/16 20:17:25ありがとんございます!
やってみますです
0422デフォルトの名無しさん
05/02/16 20:55:08環境依存の話でスマンが、俺の知りうる限り
関数の返り値って実態は関数から戻った際の特定のレジスタの値
ってことはそれがmain関数でも同じであるなら
関数の型がvoidだったところで返り値は不定ながら存在する筈
なので拘る必要はないかと
0423デフォルトの名無しさん
05/02/16 21:01:28呼び出し規約持ち出してまで拘る理由が知りたい。
0424デフォルトの名無しさん
05/02/16 21:01:43OSによっては、戻り値が0でないと余計な警告を出してくれる。
0425デフォルトの名無しさん
05/02/16 22:17:200426前スレ872
05/02/16 23:07:52アライメントされたmallocしたいというねた。
Linuxというかglibcでは
posix_memalignで望みどうり128bit境界にあわせられそうです。
使う予定ないけど、Win32は_aligned_mallocということですな。
doubleは64bitっすけど、
128bit境界に合わせたいのは、XMMレジスタに
アライメント合ってる時用のload命令使いたいからっす。
ただ、FreeBSDでもうごかしたいんだけど、
こっちにはpsiox_memalignはなさげなので、
POSIXといいつつメジャーなバージョンのPOSIX規格ではなさげ。
とりあえずglibcのソース見てみます。
0427デフォルトの名無しさん
05/02/16 23:19:03ページ境界にalignされるって書いてるけどな。
ローカル規格だろうけど。
0428426
05/02/16 23:47:26手元のFreeBSD4.9でgetpagesize()すると4096byteとか返ってくるので、
ちょっと大きすぎます...(^^;
んで、ちょっとglibc 2.3のソース見たら、
自分で最初に書いたコードとあんまかわんなくて、
malloc/malloc.cで、
(((unsigned long)(m)) % alignment) != 0)
とかやってて、
sizeof(viod*) <= sizeof(unsigned long)
を仮定してるようで、なんだかなぁってかんじです。
64bit CPU になっても、
LP64 とか ILP64 以外の実装あんまなさそうなので、
だいたい問題なさそうですが、やっぱかっこわるいきがする。
0430デフォルトの名無しさん
05/02/17 00:11:470431デフォルトの名無しさん
05/02/17 00:17:570432デフォルトの名無しさん
05/02/17 00:35:00Results 1 - 10 of about 338 for はさみうち法. (0.15 seconds)
0433デフォルトの名無しさん
05/02/17 01:01:51昔LatticeCについてたようなやつ。名前は忘却
command.com よりは高機能でcsh ほどは無用
compしてから使うのは勝手が悪い
0434デフォルトの名無しさん
05/02/17 01:21:19strstr?
ワイルドカード扱えるような標準のは知らない。
0435デフォルトの名無しさん
05/02/17 01:44:45名前を思い出せばどこかにCで書いた椰子がいそうなのじゃが。
実際使うのは \s* \s+ くらいかな。
0436デフォルトの名無しさん
05/02/17 01:48:270437デフォルトの名無しさん
05/02/17 01:50:16#include <string.h>
int size = stcpm(char *string, char *pattern, char **match);
stcpma先頭文字列のパターンマッチング2-228LATTICE
#include <string.h>
int size = stcpma(char *string, char *pattern);
0438デフォルトの名無しさん
05/02/17 01:51:23要するに、パターンが綺麗に消費されるかどうかってことでしょ。
0439デフォルトの名無しさん
05/02/17 01:57:570440デフォルトの名無しさん
05/02/17 03:30:02{
char *ls[200];
int count;
ls[] = system("ls -1 ");
for(count = 0; count == NULL; count++){
printf("%s", ls[count]);
}
}
と言うものを作ってみたのですがうまくいきません
エラーは
x.c: In function `load_aafiles':
x.c:98: error: parse error before ']' token
x.c:99: warning: comparison between pointer and integer
です
まだ、プログラミングがよくわからないのですが
文字列を複数渡す場合はどのようにすればいいのでしょうか?
0441デフォルトの名無しさん
05/02/17 03:39:00つ [popen()]
0442デフォルトの名無しさん
05/02/17 03:43:26関数のプロトタイプと引数として渡すときの書き方がわからん。
たすけてぴ
0443デフォルトの名無しさん
05/02/17 03:54:14先頭のアドレス渡すだけでいいよ
必要なら個々の要素数
0444440
05/02/17 03:59:16FILE *f;
f = popen("ls -1 ", "r");
printf("%s", f);
pclose(f);
とやってみましたがうまくいかないです
サンプルを書いていただけないでしょうか?
0445デフォルトの名無しさん
05/02/17 04:40:18ナメとんのかお前
0446デフォルトの名無しさん
05/02/17 07:45:28www.aihara.co.jp/~junt/program/Fpopen.html
0447446
05/02/17 07:55:01www.aihara.co.jp/~junt/program/popen.html
0448デフォルトの名無しさん
05/02/17 08:24:090449デフォルトの名無しさん
05/02/17 08:45:25C言語でmsecのウエイトってどうやってやればいいんですか?
0450デフォルトの名無しさん
05/02/17 09:18:430451デフォルトの名無しさん
05/02/17 09:22:51標準Cではできないので該当スレへどうぞ。
0452デフォルトの名無しさん
05/02/17 09:28:230453デフォルトの名無しさん
05/02/17 13:12:14#define MAXLINE 1024
int main() {
char s[MAXLINE];
FILE *fpin, *fpout;
fpin = popen("ls", "r");
fpout = popen("sort -r", "w");
while(fgets(s, MAXLINE, fpin) != NULL){
fputs(s, fpout);
}
pclose(fpin);
pclose(fpout);
return 0;
}
これの意味がわかりません
また、fgetsでfpinからs[]にいれてるんですよね?
この時 MAXLINEは何の最大桁数なのでしょうか?
10にしたりしてためしたのですが 10行以上出力されるし
1行に10桁以上表示されます
fputsは fpinの値をfpoutに渡していると言うことですよね?
ようするに ls | sort -r 見たいにしてるって事ですよね?
すいませんが、 上のwhileの当たりを解説していただけないでしょうか?
すいませんがおねがいします
0454デフォルトの名無しさん
05/02/17 13:23:310455デフォルトの名無しさん
05/02/17 13:28:28fgets()のマニュアル読め。
fgets()は改行文字か指定されたサイズを満たすまでのどちらかまで読み込む。
改行文字で終わらなかった場合は次のfgets()で行の残りを読み込む。
従って、MAXLINEを小さくしても(そのコードの場合は)情報は失われない。
0456デフォルトの名無しさん
05/02/17 14:01:45cmpでなくてcpmというのがわけわからんが。
http://www.science.uva.nl/pub/computer-systems/ias/groen/aim/aim/lattice.c
こんなの見つけましたが、明らかにおかしい。
0457デフォルトの名無しさん
05/02/17 18:51:12//\
if()
って感じの文章を書くと、if文はコメントとして見られるのが仕様?
それとも、これは環境依存?(bccでは、
コメント内に\があるって警告出たのはどういう意味かと思ったけど、こういうのがあるのね…
0458デフォルトの名無しさん
05/02/17 18:53:34文章じゃなくてソースでした
bccではコメントとしてみなして、問題なければコンパイルは通り
警告 W8010 2ch.cpp 15: 継続記号 \ が // コメント内に見つかった(関数 __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long) )
って感じの警告が出る
0459デフォルトの名無しさん
05/02/17 19:00:17・\
物理行を結合し一つの論理行を生成する。
この処理はプリプロセッサにて行われる。
[結論]
仕様です。
0460デフォルトの名無しさん
05/02/17 22:31:231. トライグラフなどを置き換え。
2. バックスラッシュの直後に改行文字がある場合、その2字は削除され2行が連結される。
3. コメントの削除
4. #defineや#includeなどのプリプロセス。
(以降省略)
0461デフォルトの名無しさん
05/02/17 22:43:04今、不思議な注釈に見えたんだけど、//以降がコメントとなるのはC99以降の仕様?
それとも、これは環境依存?
0462デフォルトの名無しさん
05/02/17 22:46:11スレ違い。
>>461
拡張子がcppだからね。
0463デフォルトの名無しさん
05/02/17 22:46:50//でのコメントはC99で加えられたがBCC自体はC99非対応なので、
BCCでの位置付けとしては独自拡張ということになる。
0464デフォルトの名無しさん
05/02/17 22:48:01BCCでは拡張子cでも(もちろん-Pはなしでも)//形式のコメントは使えるようになっている。
0465デフォルトの名無しさん
05/02/17 23:41:482. バックスラッシュの直後に改行文字がある場合、その2字は削除され2行が連結される。
が原因ですね。良くわかりました、ありがとうございます。
他にレスくれたかたもありがとうございます。
>>462
.cだとコンパイル時に.cまでファイル名指定するのが面倒なので、cppファイルでコンパイルするようにしてます(互換性のある範囲で使う場合)
//コメントに関しては既にレスがありますね
#include<stdio.h>
int main(void){
//\
if(1){
puts("");
}
return 0;
}
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
2ch.c:
警告 W8010 2ch.c 4: 継続記号 \ が // コメント内に見つかった(関数 main )
警告 W8070 2ch.c 7: 関数は値を返すべき(関数 main )
エラー E2040 2ch.c 8: 宣言が正しく終了していない
エラー E2190 2ch.c 9: 不要な }
*** 2 errors in Compile ***
0466デフォルトの名無しさん
05/02/18 00:16:41あったとして何を考えて書いてたの?
0467デフォルトの名無しさん
05/02/18 01:27:43複数行のマクロ内でコメントを書いた事は無い
0468デフォルトの名無しさん
05/02/18 01:48:13//\
if(0)
puts("");
は一見、字下げがされている分だけ見付けにくいバグになりそう。
ただのうっかりミスだけど。
0469デフォルトの名無しさん
05/02/18 03:13:26int A (int h){
/*処理部*/
return r;
}
のサブルーチンは、引数を二つ返すのでしょうか?
hとr。(^_^;)
0470デフォルトの名無しさん
05/02/18 03:18:460471デフォルトの名無しさん
05/02/18 03:21:370472デフォルトの名無しさん
05/02/18 03:21:550473デフォルトの名無しさん
05/02/18 03:24:15まず日本語を勉強してください
0475デフォルトの名無しさん
05/02/18 06:09:16まず日本語を勉強してください
0476デフォルトの名無しさん
05/02/18 10:19:10その公開仕様(Cのコールバック関数群)に沿ってpluginを開発してます。
既に多数のpluginが公開されていて、自分でも作ってみましたがちょっと
問題があります。
こういう場合ってここで質問してもおKですか?
最適な板があれば教えて下さい。
0477デフォルトの名無しさん
05/02/18 10:24:290478476
05/02/18 10:55:19コンテキストメニューの「全メールの振り分け」を無効化したいのです。
仕様は
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/9970/inside/mkplug32.html
この APCFolderInitMenu() をオーバーライドして
if (type == APMENU_FOLDER_CONTEXT) {
::EnableMenuItem(hMenu, 32825, MF_BYCOMMAND | MF_GRAYED);
}
を追記しました。.dll(plugin)自体は正しくロードされるのですがグレーアウトせず。
EnableMenuItem() の戻り値も成功。
MF_BYPOSITION でメニュー項目を指定しても変わりませんでした。
何が考えられるでしょうか?
0479デフォルトの名無しさん
05/02/18 11:27:29スレ違い
0481デフォルトの名無しさん
05/02/18 11:53:36それがまずスレ違い
http://pc5.2ch.net/test/read.cgi/tech/1066747198/
0483デフォルトの名無しさん
05/02/18 12:49:57Windows用ソフトの話なのに、
何故最初にWindows関連のスレに行かないのか?
使っている環境と起こっている現象から、
適切なスレを選ぶ事も出来ないようならやめた方が良いよ。
0484デフォルトの名無しさん
05/02/18 14:20:05クリアする配列名に&を付けてる人と付けていない人が居ます。
どっちが正しいの?
0485476
05/02/18 14:21:33VCのスレって意味?
0486デフォルトの名無しさん
05/02/18 14:23:42個人的には配列をmemsetでクリアするのを止めろと言いたいが。
0487デフォルトの名無しさん
05/02/18 14:24:42ここはCスレ。あんたはC++でWindowsで動くアプリ(プラグインか)を書いている。
2重にスレ違いだってば。
0488デフォルトの名無しさん
05/02/18 14:25:59・C言語入門(ttp://www.amazon.co.jp/exec/obidos/ASIN/4756102700/qid=1108704055/sr=1-8/ref=sr_1_10_8/250-1376224-4422612)
・やさしいC 第二版(ttp://www.amazon.co.jp/exec/obidos/ASIN/4797324775/qid=1108704102/sr=1-10/ref=sr_1_10_10/250-1376224-4422612)
C言語を始めようと思っているのですが、どの入門書がいいとおもいますか?
本当に初心者なんです。
0489デフォルトの名無しさん
05/02/18 14:30:02スレ違い。書籍スレに行け。
つーか、続けることを主眼において、自分が読みやすいと思った本がいいよ。
0490476
05/02/18 14:32:47ありがとう。スレ汚しスマン。
VCスレへ移ります。
P.S.
最後に言わせてもらうと、C++じゃなくてCです
だからまずココでいいか聞いただけなんです・・・
0491デフォルトの名無しさん
05/02/18 14:35:50GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
と書いてあるのに。
0492488
05/02/18 14:42:01書籍スレなんてあるんですか? 知りませんでした。
本当にすみません。
アドバイスありがとうございます。本屋に行って実際見て来たいと
思います。
0493デフォルトの名無しさん
05/02/18 14:45:01おいおい、Cにいつから::なんて追加されたんだ? 自分が何書いてるかさえ理解してないのか?
0494デフォルトの名無しさん
05/02/18 14:47:15自分が知っていることが全てだと勘違いしている恥ずかしい人発見
0495デフォルトの名無しさん
05/02/18 14:54:15?
0496デフォルトの名無しさん
05/02/18 14:56:260497デフォルトの名無しさん
05/02/18 14:57:13>494 に解説してもらおう。
(>478 では「オーバーライド」とも言ってるんだが)
0498デフォルトの名無しさん
05/02/18 15:18:43(ノ∀` )アチャー
0499デフォルトの名無しさん
05/02/18 15:29:40あなたには以下のスレをお勧めします。
http://pc5.2ch.net/test/read.cgi/tech/1101931660/
0500デフォルトの名無しさん
05/02/18 17:08:34#include<stdio.h>
int main(void){
::printf("aaaaaaaaa");
return 0;
}
aaaaaaaaa
Cでコンパイルしたら通っちゃったんですけど……
まぁ、オーバーライドって時点でC++なんだろうけど
0501デフォルトの名無しさん
05/02/18 17:26:20http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/programming/%8F%EE%95%F1.txt
0502デフォルトの名無しさん
05/02/18 17:30:362byteの型はshort
charは1byte
0503デフォルトの名無しさん
05/02/18 17:48:12shortを使えってことでしょうか?わざわざこんな回りくどい言い方をするのかと思いますが
short変数を
unsigned int型で表・・・(意味不明)
0504デフォルトの名無しさん
05/02/18 17:50:190505デフォルトの名無しさん
05/02/18 17:53:06intが2バイトな環境でプログラム作れってことでしょ。
0506デフォルトの名無しさん
05/02/18 17:57:45上位8bitが8〜15bitなら、この場合intは16bitだろ。
つまりは、
unsigned int eucsj(unsigned int);
unsigned int sjeuc(unsigned int);
0507デフォルトの名無しさん
05/02/18 18:03:560508デフォルトの名無しさん
05/02/18 18:25:310509デフォルトの名無しさん
05/02/18 18:27:030510デフォルトの名無しさん
05/02/18 18:33:21http://pc5.2ch.net/test/read.cgi/tech/1063177450/
0511デフォルトの名無しさん
05/02/18 20:56:23http://www112.sakura.ne.jp/~kaientai-project/creategame.htm
2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1108379282/l50
くすぶってないで、自分の力を試してみよう!!
0512デフォルトの名無しさん
NGNGeuc=euc & 0xff; /* とでもしとけばいいんでない? */
}
0513デフォルトの名無しさん
05/02/18 23:06:150514デフォルトの名無しさん
05/02/18 23:29:14~0 だろ?
0515デフォルトの名無しさん
05/02/18 23:38:33>BE:23404649-#
これ何?
0516デフォルトの名無しさん
05/02/18 23:41:25http://www.google.co.jp/search?hl=ja&q=%2Bbe+2ch&lr=lang_ja
0517デフォルトの名無しさん
05/02/19 01:36:04include <stdio.h>
int main()
{
FILE *fp
cで任意のファイルから1文字読み込み
unsigned int sjeuc(c);
return 0;
}
unsigned int sjeuc(unsigned int x)
{
処理
return (x);
}
0518デフォルトの名無しさん
05/02/19 01:43:230519デフォルトの名無しさん
05/02/19 02:15:220520デフォルトの名無しさん
05/02/19 02:16:420521デフォルトの名無しさん
05/02/19 05:50:50cで任意のファイルから1文字読み込み
unsigned int sjeuc(c);
0522デフォルトの名無しさん
05/02/19 08:25:040523デフォルトの名無しさん
05/02/19 10:54:280524デフォルトの名無しさん
05/02/19 12:51:06>unsigned int sjeuc(unsigned int x)
その「x」はワイド文字なのか?
0525デフォルトの名無しさん
05/02/19 12:56:090526デフォルトの名無しさん
05/02/19 13:06:13定義はできない
0527デフォルトの名無しさん
05/02/19 14:13:29問題作ってから更新してないんじゃないかと。
0528デフォルトの名無しさん
05/02/19 14:25:27どっちも4になる > sizeof(int) == sizeof(short)
0529デフォルトの名無しさん
05/02/19 14:44:56やー、どっちも16bitってなら分かるんだけど。
0530デフォルトの名無しさん
05/02/19 14:54:44「で、開発言語は C なんだけどさ・・・」と聞いていて
回ってきたのは C ライクだったなんて珍しくも何ともない
0531デフォルトの名無しさん
05/02/19 14:58:23sizeof(short)が4ってところがツッコミどころだったんだよー。
0532デフォルトの名無しさん
05/02/19 15:02:160533デフォルトの名無しさん
05/02/19 15:05:56スマソ。
0534デフォルトの名無しさん
05/02/19 15:16:56aa.hとbb.hとcc.hがあって,
aa.hがbb.h,cc.hをインクルード.bb.h,cc.hはそれぞれaa.hをインクルードしたい.
と言う状況なのですが,普通に書くとincludeが循環してしまってエラーになります.
#ifndef...#include...#endifをすると,bb.hがaa.hをインクルードできても,cc.h
がaa.hをインクルードすると,aa.hの中の変数やら関数やらが再定義されたとして
コンパイルが通りません.
解決策はあるのでしょうか?
0535デフォルトの名無しさん
05/02/19 15:19:50ヘッダファイルには定義しないで宣言だけ書いてね。
0536デフォルトの名無しさん
05/02/19 15:24:39一度しかインクルードしてないのになぜaa.hの中の変数が再定義されるんだ?
0537デフォルトの名無しさん
05/02/19 15:31:17ちゃんと全体をインクルードガードしてるか?
#ifndef - #endif の外に何か書いてあるってのは新米にありがちなポカだが・・・
0538デフォルトの名無しさん
05/02/19 15:34:290539デフォルトの名無しさん
05/02/19 15:36:570540デフォルトの名無しさん
05/02/19 15:41:44インクルードガードで使うdefineを変更しないで失敗…
実はエラーの内容が再定義ではなくて未定義だったりして。
ちと厳しいな…大穴か。
0541534
05/02/19 15:45:38回答の内容をもう一度検討して考えてみます...
0542デフォルトの名無しさん
05/02/19 16:47:550543デフォルトの名無しさん
05/02/19 21:37:15は? かえってくるのは4だよ。
0544517です。
05/02/19 23:48:13いや、main()関数内の雛形が定まらないのでまずは関数から決めることにします
>>517
?
517です。
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/programming/%8F%EE%95%F1.txt
0545デフォルトの名無しさん
05/02/19 23:55:070546デフォルトの名無しさん
05/02/20 00:05:500547デフォルトの名無しさん
05/02/20 00:18:50sizeof(short)が4な環境ってどんなのがあるの?
0548デフォルトの名無しさん
05/02/20 00:22:24まともな大学の宿題だと専攻受けてないとわからんのが多いんで、
見ず知らずの相手に1000円なんかじゃ請け負いたくないな…
0549デフォルトの名無しさん
05/02/20 00:26:190550デフォルトの名無しさん
05/02/20 00:27:360551デフォルトの名無しさん
05/02/20 00:27:500552デフォルトの名無しさん
05/02/20 00:34:11文系とか
0553デフォルトの名無しさん
05/02/20 00:34:41そんなことはない
宿題できない程度なら最短距離で卒業証書もらうのが
もっともその人のためになる
0554デフォルトの名無しさん
05/02/20 00:35:550555デフォルトの名無しさん
05/02/20 00:37:20よし、俺が与えてやろう。
まずは、俺の下半身に付いているこのポインタをしゃぶるんだ!
0556デフォルトの名無しさん
05/02/20 00:37:47まー、アホでも卒業させるってことか。
0557デフォルトの名無しさん
05/02/20 00:41:01留年させるか中退させたほうがマシなんじゃね?
0558デフォルトの名無しさん
05/02/20 00:43:060559デフォルトの名無しさん
05/02/20 00:48:09じゃぁ、モザイクを除去するプログラムからつからないといけませんね(^_^;)
0560デフォルトの名無しさん
05/02/20 00:49:00○つくらないと
0561デフォルトの名無しさん
05/02/20 00:50:23ほぅオマエは大学時代全ての単位を取って卒業したんだな(そんな暇で真面目な奴、まさに100人に1人いるかどうかのエリートだな藁)
東大の奴ですら苦手な授業は友達の宿題移してなんとかやりきるのが普通なのによ
オマエは全て自分の力で卒業したと?
あ、もしかして高卒だった?( ´_ゝ`)プゲラ
0562デフォルトの名無しさん
05/02/20 00:51:570563デフォルトの名無しさん
05/02/20 00:53:56え?普通だよ?
0564デフォルトの名無しさん
05/02/20 00:54:38double strtod(char*, char**) みたいなのを作ってみるのはどうでしょう
便利って思うのはオレだけか
0565デフォルトの名無しさん
05/02/20 00:55:030566デフォルトの名無しさん
05/02/20 00:59:120568デフォルトの名無しさん
05/02/20 01:11:10>宿題できない程度なら最短距離で卒業証書もらうのが
>もっともその人のためになる
それはその人にとって"ためになる"んじゃなくて"都合がいい"だけでは?
0569デフォルトの名無しさん
05/02/20 01:15:23普通だよな
0570デフォルトの名無しさん
05/02/20 01:16:32関数にポインタを渡してアドレスを受け取るってことで
そのアドレスを同じポインタに返すので
char buf[] = "12 + 3";
char *p = buf
double d;
d = strtod(p, &p);
こうするとポインタが進みますので
便利じゃないかなぁと思っただけです
0571デフォルトの名無しさん
05/02/20 01:17:55じゃなくて
そのアドレスを同じポインタで受け取るようにすると
0572デフォルトの名無しさん
05/02/20 01:25:174.2ってmallocのヤツで合ってる?
0573デフォルトの名無しさん
05/02/20 01:30:57やめとけ
0574デフォルトの名無しさん
05/02/20 01:40:30北野 欽一さんのやつを読んでました。
>>571
マジレス、ありがとうございます。
0575デフォルトの名無しさん
05/02/20 01:45:12レポート写させてもらえる知り合いもいない状況を何とかした方がいいのでは?
0576デフォルトの名無しさん
05/02/20 01:48:14つまり大学は社会に出る前に人生経験を学ぶ場所でもあるってこと?
いかにして世の中をうまく乗り切っていくか、時には卑怯と思えることも必要になりますからね社会では
0577デフォルトの名無しさん
05/02/20 01:51:11是非それを宿題スレで言ってくれ
0578デフォルトの名無しさん
05/02/20 01:51:22東大生というだけで優れている訳では無し
学歴≠優秀というのは、ソニーが証明している
0579デフォルトの名無しさん
05/02/20 01:53:55>時には卑怯と思えることも必要
常にせこい行動ばかりとる人も多いのですが……
最初から他人をあてにして、自分で努力しない人とか多いね……教えてもらうなら、自分が理解できるだけの能力は身に着けておいて欲しい
0580デフォルトの名無しさん
05/02/20 02:05:03さすがにこれは社会人の文章ではないよな。
まあ頑張って卒業してくれ。
0581デフォルトの名無しさん
05/02/20 02:18:150582デフォルトの名無しさん
05/02/20 03:03:322ちゃんねるに聞かないと宿題の答も教えてもらえない奴は
結局落ちこぼれるな
0583デフォルトの名無しさん
05/02/20 03:15:47というイメージがあるのですが。
そうでもないのですか?w
0584デフォルトの名無しさん
05/02/20 03:22:02自分がそうだから皆がそうだと思うってるの?
もうちょっと現実世界で人と交流して常識を身につけたほうがいいよw
0585デフォルトの名無しさん
05/02/20 03:41:49視野の狭い奴が多いのは事実だが、実際はそうでも無いと
>>583は視野が狭いヒッキーだから真実に気付かないんだろう
0586デフォルトの名無しさん
05/02/20 04:05:410587デフォルトの名無しさん
05/02/20 05:45:440588デフォルトの名無しさん
05/02/20 06:19:460589デフォルトの名無しさん
05/02/20 06:30:480590デフォルトの名無しさん
05/02/20 06:46:20http://pc5.2ch.net/test/read.cgi/prog/1084280872/153-155
0591デフォルトの名無しさん
05/02/20 06:50:29>>24
構文解説なんてロクにしない。独学でやれといわれる。
ちょっとだけ説明するが意味不明で急いで説明するので
本読んでやったほうが速い。
まずアルゴリズムとデータ構造について学ぶが
渡されたC言語のコードが難解で誰も理解できないまま
DQNになってそれでも単位をとれてしまうという始末。
皮肉なことに、プログラミングが全くできなくても
情報工学科を卒業できてしまう香具師もいるのだ。
みんなポインタ演算で混乱する。教えている側の教官ですら
配布したソースコードを理解していない。
なんつーか、TAに書かせたスパゲティコードを配布しているみたいな。
その次の年Prologをやらされる。まあなんとか理解できた。
その次の年はC++とAdaをやらされた。ぜんぜんわからんかった。
オブジェクト指向がなんたらいうんだが聞いてもさっぱり理解できずに
頭に無理やり詰め込んだだけで単位を取れた。
あとから独学でJavaをやって初めてオブジェクト指向を理解することになったのであった・・・。
とはいえ、大学の授業でプログラミングに関するものというのは
週に一回、90〜180分だけだった。ほかは数学、電気回路、電磁気学などばかり。
http://pc5.2ch.net/test/read.cgi/prog/1072681425/30
0592デフォルトの名無しさん
05/02/20 06:56:16>>62
いまからでも大学いった方が良い。
64 :仕様書無しさん :04/12/17 02:22:03
それは長い目で見て?何が何でも行ったほうがいいですか?
65 :仕様書無しさん :04/12/17 02:36:33
>>62 長い目で見るとな、学歴は高いに越した事は無いんだよ。
RPGで強い敵が出てくるダンジョンに入る前にはそれなりに装備を整えるだろ?
まともに戦えるようにしっかりレベル上げてくだろ?
そのためにはゴールドと経験値稼ぐために地道な反復作業が必要になるだろ?
それと同じなんだよ。
就職してそれなりに稼ぎたければ地味に見えるが勉強して経験値上げておけ。
高校中退のままPG目指してもなれるんだがやっぱり大卒の奴らに比べると
その先で稼げる金がまったく違ってくる。
金がないと心に余裕がなくなるし、しょうもないことでセコセコしてしまうし自分に自信がもてなくなる。
ある程度余裕のあるぐらい稼げていると、それだけで自信が持てるようにもなる
まぁ金が全てって訳でもないが、世の中金持ってるほうがエライんだし、周りもそういう基準でみるのでしょうがない。
0593デフォルトの名無しさん
05/02/20 07:00:09レポート、発表会、何らかのサークル活動、研究室に入って以
降の意思表示、人の力を借りる能力、人の言いたいことを理解
する能力、本から必要な情報を得る能力、それから実行力。
何学部でもいいが、まず、大学に入ったら、自分の思っている
ことがそれほど具体的じゃないことは必ずどこかで思い知らさ
れるだろう。レポートや発表、調査などを通して、自分がなにを
したいか、そのために何をしなければならないのか、それから、
何かを達成するために必要なものを組み立てる力、それを学べ。
専門学校卒と大卒の大きな違いはそこだ。社会に出たら、誰
も教えてくれないので、慣れに頼るようになる。プログラマは、
自分で何をやっているか理解できない場合はただの力作業で
終わってしまう。力作業しかできないプログラマはもう必要ない
時代だからね。
人の言葉を理解し、すべきことを整理し、実行し、人に必要な
ことを伝え理解してもらうこと、これが一番大事だよ、どんな
仕事にしてもね。
0594デフォルトの名無しさん
05/02/20 07:33:26それ大学に行かなくても出来ることばっかりだなw
0595デフォルトの名無しさん
05/02/20 07:36:33あなた、高卒?中卒?
0596デフォルトの名無しさん
05/02/20 08:42:15なら自分の妹相手にやってろ それで就職のとき評価されるか?
重みが違うだろ
0597デフォルトの名無しさん
05/02/20 09:42:40他所でやれ。
0598デフォルトの名無しさん
05/02/20 11:35:02専門学校から落ちこぼれてくる香具師よりは大卒で必死な香具師の方がましだ。
同じ年齢なら、高卒でも実社会経験の豊富な香具師の方が大抵もう少しましだ。
いずれにしても、私の周辺にはエリートなんぞは来るわけがないから、
エリートでもない限り高卒だろうと大卒だろうと、本人次第だ気にするな。
0599デフォルトの名無しさん
05/02/20 11:59:14残念ながら、社会で必要なのは人脈と権力者に気に入られる
ノウハウですから、それらは二の次でいいんですねー
0600デフォルトの名無しさん
05/02/20 12:28:58あのさ、お前馬鹿だろ?
大学は職業訓練所じゃないんだよ。
0601デフォルトの名無しさん
05/02/20 12:30:12あのさ、お前馬鹿だろ?
なんのための下っ端なんだよ。
生産性を支える要だぞ。ちゃんと勉強しろ。
0602デフォルトの名無しさん
05/02/20 12:44:02生産性を支えるより、偉い人のご機嫌を取る方がより良い
収入が見込めるのが普通
0603デフォルトの名無しさん
05/02/20 12:44:02USSボイジャー機関主任ベラナトレスの先祖ハーケン!
0604デフォルトの名無しさん
05/02/20 12:44:38>>597
0605デフォルトの名無しさん
05/02/20 12:46:48一部の人間に収入があったとしても全体的には下がる。
問題は一部ではなく全体だ。
生産性を高める方が重要だよ。
0606デフォルトの名無しさん
05/02/20 12:48:44うるせーしね
0607デフォルトの名無しさん
05/02/20 12:56:44, ' ´ `ヽ、
,/ __,,,,=- 、 ヽ,
ノ ,= ̄ i ,__ノ_i、イ ヽ 何このスレ・・・
~i. ´、i_,,V ,'rヽヽiノ i、
______i ヽr'rヽ, `'´ |/ヽ人ル'
::::| ______ヽi/ ヽ`' __ u_レト 、ノノ
::::| | |ノi `' --, '´  ̄`ヽ,
::::| | レ ノレ /´ \
::::| | NULL ,く`ヽ、____,,,,,,, イゝ
::::| | ⊂',⌒ヽヽ/' 〜 〜〜 ~~イヽ
::::| |______ゝr⌒ 、 イ iノ
::::|________i、 /i ,ゝ
___========__ヽ_,/く__,,i,---´iヽ、
________________________________//
0608デフォルトの名無しさん
05/02/20 12:57:27そんなあなたが好きです
0609デフォルトの名無しさん
05/02/20 12:58:18うるせーしね
0610デフォルトの名無しさん
05/02/20 13:01:21頑張ってババ引いてくださいw
生産性高めたって誰も見てませんよw
0611デフォルトの名無しさん
05/02/20 13:03:18頑張ってババ引いてくださいw
生産性下がったら誰も見向きもしませんよw
0612デフォルトの名無しさん
05/02/20 13:03:36とりあえず何を抑えておけばいいでしょうか?
(ポインタとかビット演算とか・・・)
後、C言語の次に進むとしたらC++かC言語でWin32APIか、
どちらがよいと思いますか?
(GUIで何か作りたいです)
0613デフォルトの名無しさん
05/02/20 13:09:050614デフォルトの名無しさん
05/02/20 13:09:33う〜ん、私に対する個人的な感想なんて期待していないんですけどねぇ^^; ハハハ
なんて言うか、感想ですけれど、この人はもうダメだなって気がしました。
あ、ちなみに私はプログラマではありませんので、あしからず。
0615デフォルトの名無しさん
05/02/20 13:11:54作りたいものが先だよ。
作りたいものが決まって、そしてそのユーザインターフェースとしてGUIが本当に
最適かどうかを考えてください。
GUIプログラミングは難しい事ではないのですぐできるでしょ。
0616デフォルトの名無しさん
05/02/20 13:12:08まずは、やりたい事をやってみる。
分からないところがあれば、そのつど調べる。
そして、その時たまたま見つかったやり方
(MFC なり Win32 なり)を使えばよい。
0617デフォルトの名無しさん
05/02/20 13:12:50回答なんですが、今C言語を勉強しているなら、とりあえず上司のご機嫌取りの方法ではなくポインタとかビット演算とか苦手なものを抑えておけばいいでしょう。
GUIで何か作りたいのなら、C言語の次に進むとしたらC++がよいと思います。
C言語でWin32APIはよいと思いません。
0618デフォルトの名無しさん
05/02/20 13:20:25どっかで無料でプログラムするのと
コンパイラをダウンロードできるとこってあります?
なるべく早く知りたいんでageます
0619デフォルトの名無しさん
05/02/20 13:21:270620デフォルトの名無しさん
05/02/20 13:22:23ある
0621デフォルトの名無しさん
05/02/20 13:23:11ぜひ教えてください
0622デフォルトの名無しさん
05/02/20 13:24:07いくつでも。MSのVCTK2003使ってもいいしBorlandでもGCCでも。
0623デフォルトの名無しさん
05/02/20 13:24:14質問がおかしいのは許してやろう。
俺はエスパーだからお前の環境がWindowsXPだっていうことも知っている。
無料でプログラムするの、というのはエディタのことだな。
xyzzyでググれ。すぐにみつかる。
Cygwin gcc でググれ。すぐにみつかる。
0624デフォルトの名無しさん
05/02/20 13:26:49Cの本を買えば付いてるよプログラムソフト入ってるCD-ROMが。
0625612
05/02/20 13:32:52解りました、参考にさせていただきますm(_ _)m
>>614-615
そのやり方いいですね、入門サイトあさりの毎日でうんざりしてました・・・
早速作ってみますね。
ご返事ありがとうございました。m(_ _)m
0626デフォルトの名無しさん
05/02/20 13:35:19俺はバカだからお前の環境がVIC-1001だっていうことは知らない。
コモドールでググれ。もう存在しない。
Amiga でググれ。もう存在しない。
0627デフォルトの名無しさん
05/02/20 14:37:260628デフォルトの名無しさん
05/02/20 14:37:40できるだけツマヅカナイのがいいです。
「独習C」はだめでしょうか?
あと、テキトーにcgi作ったりはしてるんですけど。
0629デフォルトの名無しさん
05/02/20 14:39:21.. //.|
//./.|. / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
//./ | | | すんません。すぐ処分しますんで・・・・・。
//./|/:.| .| \_ __________________
□/ / //| |. |/
| |/.;;;;//. | ||.
| | ;;;;;;// | ||| l⌒)=|ニ二フ
| |.;;;// | |.|| ∧.|.∧
. ∧ ∧ | |.//. | | ||. ( ・∀・)
( ・A・).| |/. | |. || | ) ワイワイ ガヤガヤ
__( ).| |___. | | || __.| | |____
| | | | |. //.| ̄ (__(__). /.| ∧_∧ ∧_∧ ∧ ∧
(__)__)| |. // |. //| (´-`;)(@・ )(;´∀)(
| |.//∧井∧イヤァァァ--- // .| ∧∧ ∧ ∧. ∧_∧ ∧∧
(..| |/ (;´Д`)←>>627 .//. | (∀・ )(ー゜* )( )(´∀`
(⌒ .| | / ̄ ⊂.⊃. .// / ∧_∧ ∧ ∧ ∧ ∧. ∧_∧
..∧ ∧  ̄| | / └─┘// / <_` )(´・ω )(д ゜` )( )(
( ・A・) | |/ // / ∧_∧ ∧ ∧ ∧_∧ ∧_∧ ∧
( ). ~~ // / ( )( ゜∀゜)(` )( )(゜д
. | | | // / ∧_∧. ∧_∧ ∧_∧ ∧_∧ ∧_∧
(__)__). // / (д- )( )(*゜ー゜)(T дT )(∀` )
0630デフォルトの名無しさん
05/02/20 14:40:55泣いているのは>>627の母か?
0631デフォルトの名無しさん
05/02/20 14:41:58まず、何か作れ。そこから必要に応じて勉強。
0632デフォルトの名無しさん
05/02/20 16:15:23struct hoge_t {
char foo[1024];
char bar;
int boo;
};
このような構造体があるとして、
struct hoge_t h = {<???>, 0, 10};
のように宣言と同時に変数を初期化したいとした場合、
hoge_t.foo を全て0埋めすることは可能でしょうか?
また可能の場合、<???>はどのように記述すればよろしいでしょうか?
0633デフォルトの名無しさん
05/02/20 16:18:42memset(&h,0,sizeof(hoge_t))
0634デフォルトの名無しさん
05/02/20 16:19:020635デフォルトの名無しさん
05/02/20 16:19:450636デフォルトの名無しさん
05/02/20 16:41:17634さん、635さんの記述形式(={0})から推測するのですが、
「省略分は全て0埋めされることが保障されている」ということでしょうか?
0637デフォルトの名無しさん
05/02/20 16:42:21そんなやつは見込みない。
0638デフォルトの名無しさん
05/02/20 16:43:32一つのキーワードみたいなものだからな。
{0} のときだけ特別扱い。
0639デフォルトの名無しさん
05/02/20 16:43:39というか、そうしようと思うことがそもそも間違い。
考え方がまちがっている証拠。
0640デフォルトの名無しさん
05/02/20 16:45:38char a[MAX];
menset(a, 0, MAX);
strcpy(a, const_string);
あげくのはてには、
int i;
i = 0;
i = 10;
...みたいに。本人いわく「初期化してから上にかさねていれたほうが、きれいにはいるんでしょ?」
だと...
0641デフォルトの名無しさん
05/02/20 16:51:55どうもありがとうございます。
>> 639
おっと、そうですか・・・。
fread、fwriteで使用される構造体で、こいつに対するPTHREAD_MUTEX_INITIALIZERもどきを用意したいなあ、なんて考えまして。
で、極力、安全側に倒しておきたい、とも考えました。
よろしければ、どのように間違っているか教えていただけませんか?
(本当にわかっていないんです)
0642デフォルトの名無しさん
05/02/20 16:52:31後者は意味無いが、前者はバッファオーバーランしてるときとかの
デバッグ時に効果がある場合も無い訳ではない。
0643デフォルトの名無しさん
05/02/20 16:53:55分かってないのは >>639 の方だから。
0644デフォルトの名無しさん
05/02/20 17:40:450645デフォルトの名無しさん
05/02/20 17:43:270646デフォルトの名無しさん
05/02/20 17:49:590647デフォルトの名無しさん
05/02/20 17:58:35・「予め初期化してあるから大丈夫」という無意識の甘えが生じてきちんとナルターミネートしないコードを書くなどの弊害が生じる。
・開発環境が折角意図的なダミー値を入れてくれるような場合に、それをわざわざ無にしてしまってデバッグの効率を落としかねない。
以上のような観点から「無闇と」memset()するコードは、私は推奨していない。
勿論、char foo[1024]; memset(foo, 0, 1024);のように数値を直接書くようなコードは論外である。
0648デフォルトの名無しさん
05/02/20 17:58:38return find("ノートPCをタダで合法的に入手する方法");
}
0649デフォルトの名無しさん
05/02/20 18:05:10もう一度、規格を参照しましょう。
0650デフォルトの名無しさん
05/02/20 18:09:03Windowsでは、sleepとforkはどのようにして実現させるのでしょうか?
適当に検索してみたのですが 不可としか見つけることができませんでした
sleepはtimeをループでまわすしかないのでしょうか?
ですがそうするとかなりの負荷になってしまうと思うのですが・・
みなさんはどうやっているのでしょうか?
0651デフォルトの名無しさん
05/02/20 18:09:50文字列限定ならそうかもしれんが、
構造体とか配列を適当な値で初期化したいことってあるじゃん。
0652デフォルトの名無しさん
05/02/20 18:10:55もう一度、>>1 を参照しましょう。
0653デフォルトの名無しさん
05/02/20 18:17:11sleepはあるSleep
forkはCreateProcess
0654デフォルトの名無しさん
05/02/20 18:17:49>>647 は後付の理由。もがいてるだけ。
0655647
05/02/20 18:19:52少し勘違いをしていたかも試練。
私は、無闇なmemset()をすべきではないと書いたが、初期化については言及していない。
0だろうと適当な値だろうと、初期化は適宜行なえばいいと思う。
memset()(など)で0クリアしないと(アライメントによる)構造体のメンバの隙間をクリアできないが、
そもそも気にすることが殆どないので問題にはなっていない。
0657デフォルトの名無しさん
05/02/20 18:29:12初期化することの問題について聞いているのに、
「初期化については言及してない」と開き直られても困る。
0658647=655=656
05/02/20 18:46:22すまん。>655で書いたように勘違いだったようだ。
0659デフォルトの名無しさん
05/02/20 19:10:36するなよ ぼけ
0660デフォルトの名無しさん
05/02/20 19:11:47> ・「予め初期化してあるから大丈夫」という無意識の甘えが生じてきちんとナルターミネートしないコードを書くなどの弊害が生じる。
普通そんな事で甘えない。
ナルターミネートしないコード、とは具体的にどういったコードか?
> ・開発環境が折角意図的なダミー値を入れてくれるような場合に、それをわざわざ無にしてしまってデバッグの効率を落としかねない。
ダミー値は初期化されていないことを示す。
自分で初期化しているなら問題ない。
デバッグの効率を落としかねない、とは具体的にどういったコードか?
0661デフォルトの名無しさん
05/02/20 19:20:25関数上から普通にターミナルを使うようにコマンドを
実行できますでしょうか?
実行結果(標準出力?)を引数で得るような関数を知りたいです。
0662デフォルトの名無しさん
05/02/20 19:35:28「普通にターミナルを使う」ということがどういうことなのかいまいちわからんが。
プログラム内から別のプログラムを起動してその出力結果をもらいたいのならpopen使え。
0663デフォルトの名無しさん
05/02/20 19:52:12読み返してみた・・・
で、気づいたんだけど、JIS(X3010) の「要素指示子」って何? これ?
こんなのあった?
int a[MAX] = { 1, 3, 5, 7, 9, [MAX-5] = 8, 6, 4, 2, 0 };
が、規格準拠なの?
こんなコード、見たこと無いぞ?
0664デフォルトの名無しさん
05/02/20 19:52:440665デフォルトの名無しさん
05/02/20 19:54:070666デフォルトの名無しさん
05/02/20 19:54:38struct student{
char name[20];
int kokugo;
int sansuu;
} seito;
0667デフォルトの名無しさん
05/02/20 19:54:49多分正しい。
0668663
05/02/20 20:12:14コンパイルは通らないし、google でもヒットしないし・・・
こんなもん、シレッと平気で規格に載せるなよ。
誰か、ここら辺の事情を知っている人いない?
0669デフォルトの名無しさん
05/02/20 20:16:120670デフォルトの名無しさん
05/02/20 20:18:24コンパイル通りますけど
古臭いコンパイラ使ってないでバージョンアップしたらいかがですか
0671663
05/02/20 20:23:22まだまだ勉強不足を感じる今日この頃。
0672デフォルトの名無しさん
05/02/20 20:23:240673デフォルトの名無しさん
05/02/20 20:25:000674デフォルトの名無しさん
05/02/20 20:26:060675デフォルトの名無しさん
05/02/20 20:26:530676デフォルトの名無しさん
05/02/20 20:28:080677デフォルトの名無しさん
05/02/20 20:28:30ten_io
0678663
05/02/20 20:31:30いや、C99 みたい・・・(Designated Initializer)
どうやらJIS の規格が、中途半端な立場を取っているみたいだね。
0679デフォルトの名無しさん
05/02/20 20:36:52JISが中途半端なのではなく、世の中に中途半端な実装をしたコンパイラしかないんだよ。
↓10個どころか1個も無いんだ。ぐだぐだ言うな。
0680デフォルトの名無しさん
05/02/20 20:38:380681デフォルトの名無しさん
05/02/20 20:40:18例えば
XCreateFontSet(display, "-mona-gothic-medium-r-normal-*-16", &miss, &miss_cnt, &defi);
等を行うとき -mona-gothic-medium-r-normal-*-は固定で フォントサイズだけをそのとき毎に変えたいときはどうするのでしょうか?
XCreateFontSet(display, "-mona-gothic-medium-r-normal-*-"size, &miss, &miss_cnt, &defi);
//sizeは 16が入ってるとします
ようするに ダブルクォーテーションで囲む文字列の中に変数の値を紛れこましたいときは
どうするのでしょうか?
0682デフォルトの名無しさん
05/02/20 20:42:32sprintf使え。
0683デフォルトの名無しさん
05/02/20 20:43:080684663
05/02/20 20:48:18しっかりと改定されていたんだ・・・
(当たり前といえば、当たり前だけど)。
そこら辺を勘違いしていた。
スミマセン >> JIS の中の人
0685デフォルトの名無しさん
05/02/20 20:52:22誰も「する」なんて書いてねぇよぼけ。
>>660
>ナルターミネートしないコード
memcpy()かなにかでナルキャラを伴わないコピーをした場合など。
>デバッグの効率を落としかねない
それこそ構造体の隙間も0クリアされてしまうため、char foo[5]のようなメンバに
strcpy(foo, "01234");したような場合にその検出がしづらい。
どっちみち、そう言うコードを書くほうが蛸な訳で、どう書かせようともバグを出す香具師は出す。
その意味で、「プログラマを信頼する言語」であるという点は同意。
0686デフォルトの名無しさん
05/02/20 20:56:38タコな言語でミスをしないためのノウハウを偉そうに語る
更年期親父・・・
0687デフォルトの名無しさん
05/02/20 21:10:52バッファオーバーラン
0688デフォルトの名無しさん
05/02/20 21:29:00アフォは何使っても同じ
0689デフォルトの名無しさん
05/02/20 21:30:10> memcpy()かなにかでナルキャラを伴わないコピーをした場合など。
極めて発生しにくいミスだね。
あなたはそんなコードを書くのだろうか?
> それこそ構造体の隙間も0クリアされてしまうため
構造体の隙間は { 0 } で初期化されるのか?
されないだろう?
> char foo[5]のようなメンバにstrcpy(foo, "01234");
687 も突っ込んでるけど、それは初期化に関わるミスではないだろう?
>>686
> 更年期親父・・・
親父に更年期はあるのだろうか?
0690デフォルトの名無しさん
05/02/20 22:46:25char ss2[]="MPA T12 DELAY 234ms.wav"
char ss3[]="MPA T DELAY 21ms.wav"
この文字列から XXmsの XXの数値を
得るにはどうすれば良いんでしょうか?
それとss3はエラーで出力したんですけど
教えてください
0691デフォルトの名無しさん
05/02/20 22:50:14>それとss3はエラーで出力したんですけど
>教えてください
何を?(w
0692デフォルトの名無しさん
05/02/20 22:54:200693デフォルトの名無しさん
05/02/20 22:55:12http://www112.sakura.ne.jp/~kaientai-project/creategame.htm
2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1108379282/l50
0694デフォルトの名無しさん
05/02/20 22:55:320695デフォルトの名無しさん
05/02/20 22:57:10アリリン
0696デフォルトの名無しさん
05/02/20 22:58:30#include <stdio.h>
void ParseMS(char *ss)
{
int d;
if (sscanf(ss, "MPA T%*2[0-9] DELAY %dms.wav", &d) == 1) {
printf("%d ms\n", d);
} else {
printf("ERROR! (%s)\n", ss);
}
}
int main()
{
char ss1[] = "MPA T01 DELAY -24ms.wav";
char ss2[] = "MPA T12 DELAY 234ms.wav";
char ss3[] = "MPA T DELAY 21ms.wav";
ParseMS(ss1);
ParseMS(ss2);
ParseMS(ss3);
}
0698デフォルトの名無しさん
05/02/20 23:20:50はい、その通りです。
さらに付け加えるとプログラムを実行中の入力待ち状態(単にscanfでも)
に文を入力、出力を返り値とするような関数を知りたいです。
pipeとかforkでしょうか?いまいち分からなくて///
おねがいします!
0699デフォルトの名無しさん
05/02/20 23:22:28ここは小学校じゃ無いんだよ
0700デフォルトの名無しさん
05/02/20 23:28:56つまり、C インタプリタを作りたいのか。
パーサやらコードジェネレータやら大変だけど、頑張れな。
俺、そういう若造は嫌いじゃないぞ。
0701デフォルトの名無しさん
05/02/20 23:31:50cout << "some debug message" << endl;
をまねて
bmpout << "some debug message" << endbmp;
みたいな形でbmpファイルに書き出すにはどういったプログラミングをすればいいでしょうか?
意外と難しくて困っています。
0702701
05/02/20 23:37:38いやbmpファイルと書くのは間違えた。
単にデバッグメッセージをログファイルに書き足したいだけ。
ファイル名とか時間とか自動的に入れてデバッグメッセージをファイルに落とす。
dbgout << "some debug message" << enddbg; // これ一行で一ファイルとして出力
と書くと
main.cpp: 16: 2005.02.20: some debug message
みたいな。
0703デフォルトの名無しさん
05/02/20 23:42:29C++ スレ池
0704690
05/02/20 23:45:54sscanf(ss, "MPA T%*2[0-9] DELAY %dms.wav", &d) == 1の
T%*2[0-9]これの意味が分からないのですが
T%*2は2桁 [0-9]は何なのでしょうか?
0705デフォルトの名無しさん
05/02/20 23:54:12%[]はscanset
たとえば%[abc]ならaまたはbまたはcから成る文字列にマッチする
%[0-9]は%[0123456789]の省略
0706デフォルトの名無しさん
05/02/20 23:59:41あー申し訳ない
今、規格を見直したらscansetの中の"-"の意味は実装依存と書いてあった
だから、%*2[0123456789]の方が良いみたい
[0-9]でたいてい動くと思うけど
0707デフォルトの名無しさん
05/02/21 00:03:22丁寧にありがとう
勉強になりました
0708デフォルトの名無しさん
05/02/21 00:54:08どうしたらいいですか?
0709デフォルトの名無しさん
05/02/21 01:05:25http://money3.2ch.net/test/read.cgi/bizplus/1108909161/l50
0710デフォルトの名無しさん
05/02/21 01:08:05数値入力で^Zで終了まではうまく動くのですが、その後printfで結果を出してくれません。何が問題なのでしょうか?
#include <stdio.h>
void main(void)
{
int dat,sum,n;
sum=n=0;
while (scanf("%d",&dat)!=EOF){
sum=sum+dat;
n=n+1;
}
printf("gokei = %d\n",sum);
printf("heikin = %d\n",sum/n);
}
0711デフォルトの名無しさん
05/02/21 01:13:45使いこなせないならscanf使うな
0712デフォルトの名無しさん
05/02/21 01:18:57scanfをgetcharに直したら使えました。
謎だけど
0713デフォルトの名無しさん
05/02/21 01:20:280714デフォルトの名無しさん
05/02/21 01:24:590715デフォルトの名無しさん
05/02/21 01:39:100716デフォルトの名無しさん
05/02/21 01:53:22いちおう動くけど・・・
0717デフォルトの名無しさん
05/02/21 02:10:130718デフォルトの名無しさん
05/02/21 02:45:11まともに整理して質問出来る香具師は自己解決出来る。
0719デフォルトの名無しさん
05/02/21 03:34:14こいうつはc89年以降にansiが改訂されていないとおもってる おおぼけ
0720デフォルトの名無しさん
05/02/21 05:04:160721デフォルトの名無しさん
05/02/21 07:36:11#define ABC( a,b )
.cファイル
ABC( c,b )
変数名は仮ですが、こういう記述があったのですけれど
これはどういう意味でしょう?
cをaに置き換えるのでしょうか?
0722デフォルトの名無しさん
05/02/21 07:39:04> コンパイルは通らないし、google でもヒットしないし・・・
とかいっている時点でこいつかなりの厨房決定。
そんな基本的な文法通らないようなにせものコンパイラー使うなよ。
うちにある何種類かのコンパイラーでそれがエラーになるのは1つもない。
0723デフォルトの名無しさん
05/02/21 07:39:39括弧のすぐうちがわに空白あけるなよ ぼけ
0724デフォルトの名無しさん
05/02/21 07:43:27#define ABC(a,b)
.cファイル
ABC(c,b)
これでお願いします
0725デフォルトの名無しさん
05/02/21 08:08:17だからC89じゃ基本文法じゃないでしょ。
コンパイラ通れば基本文法だと思ってるあんたの方がよっぽど厨房。
0726デフォルトの名無しさん
05/02/21 08:13:56C89なんていう呼び方をすると、いまだにそういう規格が許されているのだと
思い込む馬鹿も続出
0727デフォルトの名無しさん
05/02/21 08:14:52「C89じゃ基本文法ではなかった」だな。
すでに16年も前の話だ。
0728デフォルトの名無しさん
05/02/21 08:20:44以上、現時点でC99を標準Cと呼ぶのは時期尚早だと思う。
0729デフォルトの名無しさん
05/02/21 08:24:19お、またでたなVC厨 ;-)
よのなかの大概のコンパイラーがサポートしてるんだよ > 位置指定初期化
してないのはVCぐらいじゃない?
0730デフォルトの名無しさん
05/02/21 08:27:29ユーザーの立場としては。
0731デフォルトの名無しさん
05/02/21 08:29:04ほう、VCは位置指定初期化はサポートしてないのか。知らなかった。
ところであんたのコンパイラはC99の規格は全部サポートしてるのか?
0732デフォルトの名無しさん
05/02/21 08:43:29> うちにある何種類かのコンパイラーでそれがエラーになるのは1つもない。
VCぐらいもってないんですか?w
0733デフォルトの名無しさん
05/02/21 10:31:40引用までしておいて位置指定初期化限定の話…莫迦ですか?
0734デフォルトの名無しさん
05/02/21 10:33:380735デフォルトの名無しさん
05/02/21 10:50:110736デフォルトの名無しさん
05/02/21 12:15:170737デフォルトの名無しさん
05/02/21 12:30:550738デフォルトの名無しさん
05/02/21 12:53:280739デフォルトの名無しさん
05/02/21 12:54:51妥当。多分コーディング規約で縛っている所も多いはず。
遊びでプログラム書いてるんなら何やってもかまわんが。
0740デフォルトの名無しさん
05/02/21 13:03:400741デフォルトの名無しさん
05/02/21 13:15:09他人に押し付けるな。厨房。
0742デフォルトの名無しさん
05/02/21 13:28:52だから遊びでプログラマやっている人には何にも言いません。
0743デフォルトの名無しさん
05/02/21 13:51:18お前らみたいな old type がいるから俺らが苦労するんだ…_| ̄|○
0744デフォルトの名無しさん
05/02/21 13:57:43これちょっと面白かった。
http://namazu.org/~satoru/misc/ggap.html
0745デフォルトの名無しさん
05/02/21 14:21:06long long intも使えんな。組み込み系オールドタイプか?
0746デフォルトの名無しさん
05/02/21 14:47:470747デフォルトの名無しさん
05/02/21 14:59:230748デフォルトの名無しさん
05/02/21 15:32:13それだけだとプリプロセス後は何も残らない。
昔は何かする必要があった(or 将来何かする必要が出てくる)ということだろう。
0749デフォルトの名無しさん
05/02/21 16:01:1732bit 環境では必要ないですね。
0750デフォルトの名無しさん
05/02/21 16:05:31long longはデファクトに近いし簡単に代替できんから、使ってもいい様
な気がする。でも移植性についての注記をコメントで入れなきゃならん。
0751デフォルトの名無しさん
05/02/21 17:02:12/* long longはデファクトに近いし簡単に代替できんから、使ってもいい様な気がした */
0752デフォルトの名無しさん
05/02/21 18:09:48教えてください
泣きそうです
1. freecommandlinetools.exe を実行します。無料の C++Builder 5
コマンドラインツール開発システムをインストールしたいドライブと
フォルダを選択します。
2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib"
0753デフォルトの名無しさん
05/02/21 18:13:48スレ違い
0754デフォルトの名無しさん
05/02/21 18:14:230755デフォルトの名無しさん
05/02/21 18:15:53富士の樹海
0756デフォルトの名無しさん
05/02/21 18:16:360757デフォルトの名無しさん
05/02/21 18:33:211. freecommandlinetools.exe を実行します。無料の C++Builder 5
コマンドラインツール開発システムをインストールしたいドライブと
フォルダを選択します。
2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib
0758デフォルトの名無しさん
05/02/21 19:32:05なぜ”C言語”のスレで”コンパイラの設定”について質問してるのかと
コンパイラの仕様について聞くなら分かるが
0759デフォルトの名無しさん
05/02/21 23:10:02アホ
0760デフォルトの名無しさん
05/02/22 01:15:11なにぼけたこと言ってる
0761デフォルトの名無しさん
05/02/22 01:16:26っていうか標準文法にあるだろ ぼけ
0762デフォルトの名無しさん
05/02/22 01:24:43まったく・・・
0763デフォルトの名無しさん
05/02/22 01:32:24a<b && b>c
みたいに評価する場合ってどんなコンパイラでも確実に左から右へ評価してくれますか?
0764デフォルトの名無しさん
05/02/22 01:39:330765763
05/02/22 01:49:430766デフォルトの名無しさん
05/02/22 02:01:27まぁいいか
0767デフォルトの名無しさん
05/02/22 02:21:15if(b>c){
}
}
0768デフォルトの名無しさん
05/02/22 03:47:18[2]
[3] 言語:C
[4] 期限:2月7日朝まで
[5] その他の制限: 特になし
0だと、条件式で偽と判断される理由が分かりません。
#include <stdio.h>
int main(void)
{
int sum = 1;
while(sum){
printf("整数を入力してください。(0で終了)\n");
scanf("%d",&sum);
printf("%dが入力されました。\n",sum);
}
printf("繰り返しが終りました。\n");
return(0);
}
変数sumを宣言した後、1を代入していますが、その後、whileの条件式に入っています。
そして、この条件式では、0を入力すると、条件が偽と判断されて、条件から抜け出します。
この時、なぜ0だと条件から抜け出すのでしょうか。仕様ですか?
お願いします。
0769デフォルトの名無しさん
05/02/22 03:48:21#include <stdio.h>
int main(void)
{
int sum = 1;
while(sum){
printf("整数を入力してください。(0で終了)\n");
scanf("%d",&sum);
printf("%dが入力されました。\n",sum);
}
printf("繰り返しが終りました。\n");
return(0);
}
変数sumを宣言した後、1を代入していますが、その後、whileの条件式に入っています。
そして、この条件式では、0を入力すると、条件が偽と判断されて、条件から抜け出します。
この時、なぜ0だと条件から抜け出すのでしょうか。仕様ですか?
お願いします。
マチガイタ。
0770デフォルトの名無しさん
05/02/22 03:50:481 = 真
0 = 偽
while(1){ } 真なのでループ
while(0){ } 偽なのでループ脱出
0771デフォルトの名無しさん
05/02/22 03:58:13Cではそういう決まりだからとしか言いようがない。
0772デフォルトの名無しさん
05/02/22 03:58:26ゼロでないかどうかと比較される。
while(sum){ }
と
while(sum != 0){ }
は同じ
0773デフォルトの名無しさん
05/02/22 03:59:52一応なのですが、1以外の数字も代入できます。
ですが、0を代入すると、条件を抜け出す形になるのですが…。
0774デフォルトの名無しさん
05/02/22 04:00:38あああ、仕様ですが、それならOKです。
>>772
一応、それだと理解は出来るのですが、仕様かどうかで迷ってました。
ありがとうございます。
0775デフォルトの名無しさん
05/02/22 05:48:090776デフォルトの名無しさん
05/02/22 05:54:420777デフォルトの名無しさん
05/02/22 07:12:07規格は、規格に合致しない処理系の不存在を保証しない
0778デフォルトの名無しさん
05/02/22 07:14:40考えておいたほうがよいかも
while (sum != 0) -> while ((sum != 0) != 0)
while (sum < 0 || 0 < sum) -> while ((sum < 0 || 0 < sum) != 0)
0779デフォルトの名無しさん
05/02/22 07:17:03「必ず評価する」とは言わないが、
おそらく「評価した結果と等しくなる」のだろう。
if (1 < 2 || 2 < 3)
0780デフォルトの名無しさん
05/02/22 07:50:17↓
while ((sum != 0) != 0)
↓
while (((sum != 0) != 0) != 0)
↓
while ((((sum != 0) != 0) != 0) != 0)
↓
while (((((sum != 0) != 0) != 0) != 0) != 0)
↓
while ((((((sum != 0) != 0) != 0) != 0) != 0) != 0)
↓
while (((((((sum != 0) != 0) != 0) != 0) != 0) != 0) != 0)
↓
while ((((((((sum != 0) != 0) != 0) != 0) != 0) != 0) != 0) != 0)
↓
0781デフォルトの名無しさん
05/02/22 07:51:26ぬるぽ
0782デフォルトの名無しさん
05/02/22 07:52:54A が真の場合は B は評価されない。
0783デフォルトの名無しさん
05/02/22 08:28:31終わる。この規則がないと条件式の評価をコンパクトに書きにくい。
0784デフォルトの名無しさん
05/02/22 08:30:070785デフォルトの名無しさん
05/02/22 09:12:320786デフォルトの名無しさん
05/02/23 02:12:590787デフォルトの名無しさん
05/02/23 03:36:26struct {
int x, y;
} a;
struc {
int x, y
} b;
a=b;
が出来ないのはなんでですか?
C++だと出来るのに・・・。
0788デフォルトの名無しさん
05/02/23 04:00:010789デフォルトの名無しさん
05/02/23 04:26:18これがC++だとできるだって?
規格のどこにそんなこと書いてあるか言ってみろ
0790デフォルトの名無しさん
05/02/23 04:34:22メンバのみコピーするコピーコンストラクタは省略可能
0791デフォルトの名無しさん
05/02/23 09:50:530792デフォルトの名無しさん
05/02/23 10:15:15じゃあ if (A || B && C) や if (A && (B && C))の場合はどういう順になるのかを
実は知らない ;-)
0793デフォルトの名無しさん
05/02/23 10:55:30どういう順になるの?
0794デフォルトの名無しさん
05/02/23 12:18:24無根拠に煽りたいだけの >>792 が知っている筈がないだろう。
今確かめてる最中だろうから少し待ってヤレ。
0795デフォルトの名無しさん
05/02/23 13:41:23A B C r
0 0 - f
0 1 0 f
0 1 1 t
1 - - t
A() && (B() && C())
A B C r
0 - - f
1 0 - f
1 1 0 f
1 1 1 t
A() || (B() || C())
A B C r
0 0 0 f
0 0 1 t
0 1 - t
1 - - t
A() && (B() || C())
A B C r
0 - - f
1 0 0 f
1 0 1 t
1 1 - t
0796デフォルトの名無しさん
05/02/23 13:43:45#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool A() {int foo; printf("A():"); scanf("%d", &foo); return foo;}
bool B() {int foo; printf("B():"); scanf("%d", &foo); return foo;}
bool C() {int foo; printf("C():"); scanf("%d", &foo); return foo;}
int main() {if (A() || (B() && C())) printf("true\n"); else printf("false\n"); return 0;}
0797デフォルトの名無しさん
05/02/23 14:02:520798デフォルトの名無しさん
05/02/23 14:58:580799デフォルトの名無しさん
05/02/23 14:59:340800デフォルトの名無しさん
05/02/23 15:20:47どっちでも (・∀・)イイ
0801デフォルトの名無しさん
05/02/23 15:26:07とかあるのですが、 typedef unsigned size_t
のようにunsinged しか書いてないときはどれを
表してるのですか?教えてください。
0802デフォルトの名無しさん
05/02/23 15:27:170803デフォルトの名無しさん
05/02/23 15:32:40intは省略可能なので、
unsignedと書いたらunsigned intの意。
勿論、unsigned longはunsigned long intの意だね。
0805デフォルトの名無しさん
05/02/23 17:03:39じゃ (*)[] で。
0806デフォルトの名無しさん
05/02/23 17:13:35なにそれ?
0807デフォルトの名無しさん
05/02/23 18:17:01#define N 16
void f(int (*foo)[N]);
int main() {
int array[N];
f(&array);
return 0;
}
下をtypedefなしで書くと上の意味になることから上の書き方も認められている。
typedef int T[N];
void f(T *foo);
int main() {
T array;
f(&array);
return 0;
}
0808デフォルトの名無しさん
05/02/23 18:21:02それは配列ではなく配列へのポインタを受け取っているような。
だからと言って、>798は配列の要素へのポインタでしかないけど。
0810デフォルトの名無しさん
05/02/23 19:14:250812デフォルトの名無しさん
05/02/23 21:09:310813デフォルトの名無しさん
05/02/23 21:17:56それで処理の流れが理解しやすくなるなら
がんがん作ってください。
0814デフォルトの名無しさん
05/02/23 22:32:570815デフォルトの名無しさん
05/02/23 22:43:09ステップ数稼ぎですか?好きにしてください。
0816デフォルトの名無しさん
05/02/23 22:44:36デバックのやり方を勉強したいのですが、
なにか良いサイト教えてください。
0817デフォルトの名無しさん
05/02/23 23:01:12地道に経験積んでください。
0818デフォルトの名無しさん
05/02/23 23:32:01いつか呼ばれる日が来るまで
がんばってください
0819デフォルトの名無しさん
05/02/24 13:49:45FindFirstFileに変わるものってないですか?
0820デフォルトの名無しさん
05/02/24 13:52:57FindFirstFileってなんですか?
普通にfind(1)を使えばいいんでないの?
あと、スレ違い。
0821デフォルトの名無しさん
05/02/24 14:14:54man opendir
0822デフォルトの名無しさん
05/02/24 14:31:32>>1読め。標準Cにはそんなもんないってばよ。
0823デフォルトの名無しさん
05/02/24 21:05:33お願いします。
0824デフォルトの名無しさん
05/02/24 21:18:18system()
Cにコマンドなんぞない。
0825デフォルトの名無しさん
05/02/24 21:24:45ありがyとござまいす
0826デフォルトの名無しさん
05/02/24 21:54:230827デフォルトの名無しさん
05/02/24 21:59:010828デフォルトの名無しさん
05/02/24 22:30:070829デフォルトの名無しさん
05/02/24 22:32:02スレ違い
0830デフォルトの名無しさん
05/02/24 22:32:39Win32APIスレとかへ行け。
0831デフォルトの名無しさん
05/02/25 00:39:40説明書には、
>インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
こう書いてあるんですが、既存のパスってのが
そもそもどこにあるのかわかりません・・
0832デフォルトの名無しさん
05/02/25 00:44:42コマンドプロンプトでPATH=〜を入力
0833デフォルトの名無しさん
05/02/25 00:45:440834デフォルトの名無しさん
05/02/25 00:55:27コマンドプロンプトってどうやって出すんですか?
binフォルダの中にあるんですか??
0835デフォルトの名無しさん
05/02/25 00:55:33http://homepage3.nifty.com/norinoyama/c_lang/c_lang_setup_bcc.html
0836デフォルトの名無しさん
05/02/25 01:45:16ほんこないだ迄、手回し計算器だったのに…
0837デフォルトの名無しさん
05/02/25 02:14:200838デフォルトの名無しさん
05/02/25 02:21:150839デフォルトの名無しさん
05/02/25 03:09:53処理速度について教えてください。
例えば
tmp = x << 3;
for(i = 0; i < 1000; i++)
func(tmp);
と
for(i = 0; i < 1000; i++)
func(x << 3);
ってコンパイラの最適化を考えない場合
全体としてどちらが速いのでしょうか??
0840デフォルトの名無しさん
05/02/25 03:14:52考えないと、答えはでない。
0841デフォルトの名無しさん
05/02/25 03:16:53当然前者の方が計算量は減る。
しかし、速いかどうかは環境依存になるため一概には言えない。
0842デフォルトの名無しさん
05/02/25 03:26:56だったらわかってから聞け!
なんでわからないうちに聞くんだ?
「あなたを殺しても法律的にいいのかどうかわかりませんが、とりあえず殺しておきます」
とかいいそうだなこいつ
0843デフォルトの名無しさん
05/02/25 03:27:40比較にならない。
0844839
05/02/25 03:30:53それでは環境によって逆になりうるということでしょうか。
あと、上の例のtmpのように、変数を使う使わないで影響はありますか?
0846デフォルトの名無しさん
05/02/25 05:01:25//tmp = x << 3;
//for(i = 0; i < 1000; i++)
//func(tmp);
movedx, DWORD PTR _tmp$[ebp]
pushedx
call_func
addesp, 4
//for(i = 0; i < 1000; i++)
//func(x << 3);
movecx, DWORD PTR _x$[ebp]
shlecx, 3
pushecx
call_func
addesp, 4
下の方が1命令だけ多い。
これで満足かい?
0847デフォルトの名無しさん
05/02/25 05:21:580848デフォルトの名無しさん
05/02/25 06:49:40[1] 授業単元:プログラム概論
[2] 問題文(含コード&リンク):
シフトJISからEUCへの文字コード変換プログラムを作りたい(余裕があればその逆も)
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/programming/prog1.txt
[3] 環境
[3.1] OS: WindowsXP,NT Solaris2.0
[3.2] コンパイラ(バージョン):富士通fcc,Cygwin(gcc)
[3.3] 言語:C
[4] 期限:2005年2月28日12:00まで
[5] その他の制限: この問題文の意図だと引数をunsigned int型にするべきかどうか分からない
0849デフォルトの名無しさん
05/02/25 07:37:28ぼけ。それ以前に2つのコード、ぜんぜんロジックちがうじゃないか?
これの答えが同じになる環境なんかねーよ
同じもの比べないと意味ないだろ?
0850デフォルトの名無しさん
05/02/25 07:45:290851デフォルトの名無しさん
05/02/25 08:25:570852デフォルトの名無しさん
05/02/25 08:32:14でも、そういう話じゃ無さそうだしなあ。
843,849 判らないから説明してくれよ。
0853デフォルトの名無しさん
05/02/25 08:38:25と混同しているのではないかと
0854デフォルトの名無しさん
05/02/25 08:54:290855デフォルトの名無しさん
05/02/25 08:59:10激しくスレ違い
0856デフォルトの名無しさん
05/02/25 09:12:38を知りたいのですがどこかにありませんか。
よろしく願いします。
0857デフォルトの名無しさん
05/02/25 09:22:54一から出直せ
0858デフォルトの名無しさん
05/02/25 09:28:00俺は1ではないですけど
入学卒業はメチャクチャ難しいとは思いますけど
仮に1さんがそのプログラマに関係ある修士号もしくは博士号取れちゃったら経験者扱いにならないんですか?
取れたらの話しですが
大学院じゃなくて学部でも、一流大でプログラム学んでも無理なんですか?
勿論これも1さんが入学出来たらの話ですが
理系って朝早く学校から出てきてボールペン持って走ってたりしてるのよく見ました
泊り込んで猛烈に研究してるなら毎日プログラマと同じような事やってるんじゃないんですか?
もしくは普通のプログラマより遥かに高度な研究やソフトの作製
なんか天才が物凄いソフト作ったりしてそうなイメージあるんですが
大学院で高度な研究するなら卒後経験者として職探し出来ないんですか?
0859デフォルトの名無しさん
05/02/25 09:41:59よろしくお願いします。
0860デフォルトの名無しさん
05/02/25 09:45:06のコストを正確に知りたいのですが。ソースください。
よろしくお願いします。
0861デフォルトの名無しさん
05/02/25 09:50:41スレ違い。
http://pc5.2ch.net/test/read.cgi/tech/1108989422/
0862デフォルトの名無しさん
05/02/25 09:53:29教えてくださいお願いします。
0863デフォルトの名無しさん
05/02/25 09:54:140864デフォルトの名無しさん
05/02/25 10:23:25おかしいんでしょうか?
これと
int i;for(i=0;i<=300000000;i++)if(i==0)if(i==0)if(i==0);
これが同じ位の時間なんですが。ホントに合ってるのかな?
int i;for(i=0;i<=300000000;i++);
0865864
05/02/25 10:25:510866デフォルトの名無しさん
05/02/25 10:44:48>>861
0867デフォルトの名無しさん
05/02/25 10:45:13プロファイラはやるものではない
0868864
05/02/25 11:26:22void f(void){
int i;for(i=0;i<=30000000;i++); }
void g(void){
int i;for(i=0;i<=300000000;i++); }
void h(void){
int i,s=0;for(i=0;i<=300000000;i++)if(i>=0)s++; }
void i(void){
int i;for(i=0;i<=300000000;i++)if(i>=0); }
main() { f();g();h();i(); }
プロファイラ結果
1034.895 41.2 h(void) (test.obj)
702.974 28.0 g(void) (test.obj)
693.421 27.6 i(void) (test.obj)
80.726 3.2 f(void) (test.obj)
0869864
05/02/25 11:28:26int i;for(i=0;i<=300000000;i++)if(i>=0)if(i>=0)if(i>=0)if(i>=0);}
にしたらさらに高速化しました。
>648.068 26.7 i(void) (test.obj)
0870デフォルトの名無しさん
05/02/25 11:30:50いいかげん、寿司屋でカレーを注文するような真似はやめろ。
0871デフォルトの名無しさん
05/02/25 11:32:390872デフォルトの名無しさん
05/02/25 11:33:38だからスレ違いだって言ってるだろうが!
0873デフォルトの名無しさん
05/02/25 11:36:090874デフォルトの名無しさん
05/02/25 12:00:16環境やコンパイルオプション等に激しく依存するから。
0875デフォルトの名無しさん
05/02/25 12:58:190876デフォルトの名無しさん
05/02/25 13:24:54自分の要求ばっかり。ハッキリ言ってうざい。
0877デフォルトの名無しさん
05/02/25 14:16:170878デフォルトの名無しさん
05/02/25 14:24:540879デフォルトの名無しさん
05/02/25 14:27:47ニモニック見てクロック数を計算する。
なんでC言語とは直接関係ない
コンパイラが生成するマシン語やCPUの話
0880デフォルトの名無しさん
05/02/25 14:30:22カレーなんかあるかボケと突っ込まれ
カレーも作れないのか役立たずとのたまう。
なんだかなもぅ
0881デフォルトの名無しさん
05/02/25 14:34:48x86命令の所要クロック計測スレ
http://pc5.2ch.net/test/read.cgi/tech/1103609337/
0882テーヘーちん
05/02/25 14:36:55以下のプログラム、核は出来ています。このまま使用しても目的は達成できます。が、
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CSJS2EUC.C
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CEUC2SJS.C
この2つのソースコードをJISを経過させずに直接変換させるにはどうしたらいいでしょうか?
0883デフォルトの名無しさん
05/02/25 14:37:410884デフォルトの名無しさん
05/02/25 14:52:23http://pc5.2ch.net/test/read.cgi/tech/1066747198/
0885デフォルトの名無しさん
05/02/25 15:15:50構造体の複数の項目をソートさせたいです。
項目Aでソート
項目Bでソート
:
:
をしなければならないのか
それとも
項目A,B,・・・でソート
というやり方はできるのでしょうか?
0886デフォルトの名無しさん
05/02/25 15:17:30as you like.
0887デフォルトの名無しさん
05/02/25 15:17:460888デフォルトの名無しさん
05/02/25 15:20:510889デフォルトの名無しさん
05/02/25 15:22:34同じ処理を何回もやるのは嫌なので
巧い方法はないか教えて頂けませんでしょうか
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char aaa[7];
char bbb[7];
char ccc[11];
char ddd[3];
char eee[3];
} AA;
int main(void)
{
AA *pg_ar, g_war;
int i, j;
int irows;
int gap, k;
irows = 10;
pg_ar = (AA *)malloc(sizeof(AA) * irows);
if ( pg_ar == NULL ) {
return(1);
}
0890デフォルトの名無しさん
05/02/25 15:23:17memcpy(pg_ar+1, "aaaaaa\0bbbbb2\0AAAA000004\0dd\0F2\0", sizeof(AA));
memcpy(pg_ar+2, "aaaaaa\0bbbbb3\0AAAA000012\0dd\0A2\0", sizeof(AA));
memcpy(pg_ar+3, "aaaaaa\0bbbbb4\0AAAA000000\0dd\0D2\0", sizeof(AA));
memcpy(pg_ar+4, "aaaaaa\0bbbbb5\0AAAA000009\0dd\0A2\0", sizeof(AA));
memcpy(pg_ar+5, "aaaaaa\0bbbbb6\0AAAA000004\0dd\0B2\0", sizeof(AA));
memcpy(pg_ar+6, "aaaaaa\0bbbbb7\0AAAA000003\0dd\0A2\0", sizeof(AA));
memcpy(pg_ar+7, "aaaaaa\0bbbbb8\0AAAA000004\0dd\0A2\0", sizeof(AA));
memcpy(pg_ar+8, "bbbbbb\0bbbbb9\0 A259\0dd\0A2\0", sizeof(AA));
memcpy(pg_ar+9, "bbbbbb\0bbbb10\0 A1\0dd\0B2\0", sizeof(AA));
for ( gap=(irows/2); gap>0; gap/=2 ) {
for ( i=gap; i<irows; i++ ) {
j = (i - gap);
while ( (j >= 0) &&
(strcmp((pg_ar+j)->aaa, (pg_ar+(k=j+gap))->aaa) == 0) &&
(strcmp((pg_ar+j)->ccc, (pg_ar+(k=j+gap))->ccc) > 0) ) {
g_war = *(pg_ar+j);
*(pg_ar+j) = *(pg_ar+k);
*(pg_ar+k) = g_war;
j -= gap;
}
}
}
0891デフォルトの名無しさん
05/02/25 15:23:57for ( i=gap; i<irows; i++ ) {
j = (i - gap);
while ( (j >= 0) &&
(strcmp((pg_ar+j)->aaa, (pg_ar+(k=j+gap))->aaa) == 0) &&
(strcmp((pg_ar+j)->ccc, (pg_ar+(k=j+gap))->ccc) == 0) &&
(strcmp((pg_ar+j)->eee, (pg_ar+(k=j+gap))->eee) < 0) ) {
g_war = *(pg_ar+j);
*(pg_ar+j) = *(pg_ar+k);
*(pg_ar+k) = g_war;
j -= gap;
}
}
}
free(pg_ar);
return(0);
}
0892デフォルトの名無しさん
05/02/25 15:34:28use qsort()
0893デフォルトの名無しさん
05/02/25 15:36:11>項目Aでソート
>項目Bでソート
>:
>:
と
>項目A,B,・・・でソート
は結果が違うだろ。
>項目A,B,・・・でソート
>というやり方はできるのでしょうか?
出来るに決まってる。
0894デフォルトの名無しさん
05/02/25 15:44:22ORDER BY AAA,DDD DESC,EEE
をしたいです。
qsortを使って一度にソートさせるように
したのですが、ソート結果が意図しないものになったので
自作しました。比較用の関数を巧くするとqsort一回で
複数項目をソートできるのですか?
0895デフォルトの名無しさん
05/02/25 15:51:20>比較用の関数を巧くするとqsort一回で複数項目をソートできるのですか?
そうだよ。
>ORDER BY AAA,DDD DESC,EEE
の例でいくと、
1:項目「AAA」を比較
・不一致の時→比較結果を返し終了
2:項目「DDD」を比較
・不一致の時→比較結果を返し終了
3:項目「EEE」を比較
4:3の結果を反転して返し終了
こんな感じ。
って言うか、ソートの基本から勉強し直した方が良いよ。
0896デフォルトの名無しさん
05/02/25 15:53:04ありがとうございます
頑張ってみます。
0897デフォルトの名無しさん
05/02/25 16:03:20逆に、qsort()は安定ではないから一発で決めないといけない。
安定なソートなら条件を変えて何度もソートすればいいけどね。
0898デフォルトの名無しさん
05/02/25 17:23:230899デフォルトの名無しさん
05/02/25 17:25:04手拍子で聞いてんじゃねーよ
0900デフォルトの名無しさん
05/02/25 17:42:23なんでこんなのがわかるの?
0901デフォルトの名無しさん
05/02/25 17:45:460902デフォルトの名無しさん
05/02/25 17:47:32正直、安定か?安定でないかを気にするようなプログラムは作らんよ。
純粋にcompare( (void *) elem1, (void *) elem2 );関数を作った方が間違いが無い。
0903デフォルトの名無しさん
05/02/25 17:49:42安定ソート
出典: フリー百科事典『ウィキペディア(Wikipedia)』
安定ソート(あんていソート)とは、ソート(並び替え)のアルゴリズムのうち、
同等なデータのソート前の順序が、ソート後も保存されるものをいう。つまり、
ソート途中の各状態において、常に順位の位置関係を保っていることをいう。
0904デフォルトの名無しさん
05/02/25 17:54:06あきらめないでください。
あなたは慣れていないだけですから、もう少しがんばってみましょうね^^
0905デフォルトの名無しさん
05/02/25 18:14:38天子と悪魔のささやきだな。さて、どちらが悪魔だろうか。w
0906デフォルトの名無しさん
05/02/25 18:15:44○天使
0907デフォルトの名無しさん
05/02/25 18:59:57下記のプログラムを実行すると、画面には 10 と表示されました。
void main()
{
char mbStr[] = "あいうえお";
printf( "%d", _mbstrlen(mbStr) );
}
最初僕は文字の数である 5 が返ってくると期待したのですが、実際には文字列のバイト数である 10 が返ってきました。
この関数は文字列のNULL文字を除いたバイト数を得る関数と理解して良いのでしょうか?
でもそれだと strlen() 関数と全く動作が同じになると思うのですが・・・
どのように理解すれば良いのか教えて下さい。
もう一つの質問です。下記のようにして、ワイド文字をマルチバイト文字に変換し表示しようとしたのですが、全くデタラメな文字列が表示されてしまいます。
void main()
{
char mbStr[256];
wcstombs( mbStr, L"ああああ", 256 );
printf( mbStr );
}
ワイド文字をマルチバイト文字に変換し、表示するにはどのようにすれば良いのでしょうか?
質問は以上の二点です。
どちらか一方でも解る方がいらっしゃいましたら返信お願いいたします。
使用している環境は下記のとおりです。
OS = WindowsXP Home Edition SP2
コンパイラ = Microsoft Visual C++ .NET
0908デフォルトの名無しさん
05/02/25 19:21:38#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(void)
{
char mbStr[256];
setlocale(LC_ALL, "Ja");
wcstombs(mbStr, L"ああああ", 256);
printf(mbStr);
}
0909デフォルトの名無しさん
05/02/25 19:35:23qsort()がstableかどうかはライブラリ依存でqsort()だからstableでは
ないとは言えない筈。でも規格では保証してないのでstableであることを
前提にプログラムを書かないほうがよい。
0910897
05/02/25 19:39:020911デフォルトの名無しさん
05/02/25 19:47:474 If two elements compare as equal, their order in the resulting
sorted array is unspecified.
どっちか分からないってことで。
0912907
05/02/25 20:41:27おかげさまで二つとも解決することができました。
ありがとうございます。
0913デフォルトの名無しさん
05/02/25 20:51:180914デフォルトの名無しさん
05/02/25 22:46:10使い物になるの?
0915デフォルトの名無しさん
05/02/25 22:54:38#ifdef で
0916デフォルトの名無しさん
05/02/25 23:36:20殺すしかなければそうするだろう
自分で法律を持ち出しながら法律の知識が幼稚園児なみだなこいつ
0917デフォルトの名無しさん
05/02/25 23:48:37使い物にならない。ワイド文字列リテラルをコード中に書けない。最悪。
0918デフォルトの名無しさん
05/02/25 23:52:27よく見ると何食って吐いたのか分かる、・・・って
コアってOSのゲロみたいなもん
って解釈でOKですか?
0919デフォルトの名無しさん
05/02/26 00:00:12うまい表現だ
0920デフォルトの名無しさん
05/02/26 00:01:09とりあえず観察してみるって意味で
0921デフォルトの名無しさん
05/02/26 01:24:490922デフォルトの名無しさん
05/02/26 02:17:150923デフォルトの名無しさん
05/02/26 02:46:15#include <stdio.h>
void main()
{
double mysin(double x);
double x;
scanf("%lf",&x);
printf("%lf",mysin(x));
}
double mysin(double x)
{
double a,ai,b,bi,sum;
int i,j;
b=1; a=x; sum=x; ai=0;
for(i=2;i<N;i++)
{
sum +=ai;
for(j=1;j<=2*i-1;j++)
{ bi=b*j; b=bi; }
ai=a*((-1)*x*x)/b;
a=ai;
}
return(sum);
}
というプログラムを課題でつくったのですがここのNのところを2桁以上の数にしてしまうと、
スキャンしてからとまってしまいます。
どこが問題なのでしょうか?
0924デフォルトの名無しさん
05/02/26 03:04:380925デフォルトの名無しさん
05/02/26 03:50:02止まるっていうか、Nの増加によって項数が増えることが
階乗の計算処理に大きく影響するからだと思う。
間違ってるのはともかく、アルゴリズム自体ももう少し工夫したらどうかな。
double mysin(double x)
{
double a, b, sum;
int i;
b = 1;
a = x;
sum = x;
for (i = 2; i < 100; i += 2) {
b *= i * (i + 1);
a *= (-1) * x * x;
sum += a / b;
}
return sum;
}
0926925
05/02/26 03:54:010927924
05/02/26 04:01:01分母が階乗なんだから途中でsumが変化しなくなったら計算打ち切りしてもええんちゃう?
0928デフォルトの名無しさん
05/02/26 04:09:337.257415615308004024000000000000000000000e+306
170 ! x 16 までは計算できるが、170! x 17 はランタイムエラー。
計算途中でこれ超えてるんだろうな。
>>923 のプログラムは a == 0 になったとこで breakすれば N = 100 でも動くよ。
0929925
05/02/26 04:57:32分母が「前項の分母 * 階乗」で分子が「前項の値 * (-x^2)」になってるから、
それを修正しないと正常に機能しないよ。
0930デフォルトの名無しさん
05/02/26 08:25:060931デフォルトの名無しさん
05/02/26 08:27:300932デフォルトの名無しさん
05/02/26 08:33:17ヘッダは?
0933デフォルトの名無しさん
05/02/26 08:41:340934931
05/02/26 08:45:05ネタだと思って答えたんだが
マジで質問してるのか?
0935デフォルトの名無しさん
05/02/26 08:48:38iota
0936デフォルトの名無しさん
05/02/26 08:51:15やっぱりない
0937デフォルトの名無しさん
05/02/26 09:58:05sprintf()
0938デフォルトの名無しさん
05/02/26 10:19:32それにしてもatoiのヘッダが見つからないのですが、教えてください
0939デフォルトの名無しさん
05/02/26 10:29:49atoiならstdlib.h
そのからみでitoaもstdlib.hにあることが多い。
0940デフォルトの名無しさん
05/02/26 10:36:530941デフォルトの名無しさん
05/02/26 11:09:30springf ?
0942デフォルトの名無しさん
05/02/26 11:15:43違う
0943デフォルトの名無しさん
05/02/26 11:26:470944デフォルトの名無しさん
05/02/26 14:26:02ありがとうございました
Nを大きくすると計算処理がフリーズしてしまうといことでしょうか。
いちおう階乗のところをなおしてやってみたんですがやはりあまり大きな数字を入れると
とまってしまいましたが>>925さんのプログラムなら動いたことから私のプログラムは無駄がありすぎっていうことですね。
いちおう自分の階乗を直したものを貼っておきます
double mysin(double x)
{
double a,b,sum;
int i,j;
b=1;
a=x;
for(i=2;i<11;i++)
{
sum +=a/b;
b=1;
for(j=1;j<=2*i-1;j++)
{
b *=j;
}
a *=(-1)*x*x;
}
return(sum);
}
0945923
05/02/26 14:26:580946デフォルトの名無しさん
05/02/26 14:57:230947デフォルトの名無しさん
05/02/26 14:57:25http://pc5.2ch.net/test/read.cgi/tech/1109394073/
0948デフォルトの名無しさん
05/02/26 17:16:23よくおちてますよ > core
0949デフォルトの名無しさん
05/02/26 17:32:13find . -name core -exec rm -f {} \;
あれ? Linux だと
find . -name 'core.*' -exec rm -f {} ;\
になるのかな?
0950デフォルトの名無しさん
05/02/26 19:08:35#define DEC_BE4(a) ((((a)[0] << 24) & 0xff000000) |\
(((a)[1] << 16) & 0xff0000) |\
(((a)[2] << 8) & 0xff00) |\
(((a)[3] << 0) & 0xff))
のように書きますよね?
これって。毎回自分で書くのめんどうなので、
標準的なマクロってどこかにないのでしょうか?
stddef.hとかに。gcc独自でもいいけど。
0951デフォルトの名無しさん
05/02/26 19:15:19htonl()
0952デフォルトの名無しさん
05/02/26 20:00:20CによりCGIアプリを作ろうと思っているのですが、
どういった環境でCで作ったCGIが動作可能かがわかりません。
WebServerなんでもかまはないので、Cで作ったCGIを動くようにするためには、
具体的にどのようなソフトが必要ですか?
0953デフォルトの名無しさん
05/02/26 20:02:00CGIを動かすサーバで動くコードを吐くコンパイラ
0954デフォルトの名無しさん
05/02/26 20:03:26返答ありがとうございます
具体的になソフト名を挙げていただけるとうれしいです
0955デフォルトの名無しさん
05/02/26 20:07:30それだけで可能
他にはいらない
0956デフォルトの名無しさん
05/02/26 20:12:12マルチ
0957デフォルトの名無しさん
05/02/26 20:16:04心が狭いですね・・・
0958デフォルトの名無しさん
05/02/26 20:25:56氏ね
0959デフォルトの名無しさん
05/02/26 20:27:46CGIはただのプログラム。
たいていのウェブサーバでそのまま動かせるよ。
BCCでコンパイルするとウインドウズ用のプログラムが出来上がるので、
Windows上で動いているウェブサーバで動かせる。
IISで動かすならCGIにするより、COMにしておいてASPから使ったほうが楽チンだよ。
0960デフォルトの名無しさん
05/02/26 20:29:28「CGIとは何か?」から勉強した方がいいぞ
0961デフォルトの名無しさん
05/02/26 20:30:580962954
05/02/26 21:15:05ありがとうございました勉強になりました。
0963デフォルトの名無しさん
05/02/26 21:43:27おまいさんの端末は全角でコマンド打つのか
イモだね
アフォだね
0964デフォルトの名無しさん
05/02/26 21:50:27みつからないんですけどー
% grep htonl /usr/include/*.h
0965デフォルトの名無しさん
05/02/26 22:03:33while(1) {
malloc(1024*1024);
printf("now allocation %dM", ++i);
}
0966デフォルトの名無しさん
05/02/26 22:08:04って書いてあります。POSIX準拠の場合はどういうマクロを使えばいいですか?
0967デフォルトの名無しさん
05/02/26 22:09:11速度の話と同じで思いっきり処理系依存
「ダウン」の定義がなく、あまつさえ OS の種類すら示していないのに答えようがあるまい
0968デフォルトの名無しさん
05/02/26 22:10:40% grep htonl /usr/include/*/*.h
% man htonl
0969デフォルトの名無しさん
05/02/26 22:15:23俺の記憶違いだったらすまないが
【mallocの戻り値】
成功時 : 確保したメモリブロックを指すポインタ
失敗時 : NULL (メモリ不足により指定サイズ分のメモリが確保できないとき)
だったからダウンすることは無い…かな?
思いっきりOSとかに依存しますが…
0970デフォルトの名無しさん
05/02/26 22:22:530971デフォルトの名無しさん
05/02/26 22:27:170972デフォルトの名無しさん
05/02/26 22:31:52http://www.kumei.ne.jp/c_lang/intro/no_80.htm
http://www.web-terakoya.net/basic/b_1.html
http://www2j.biglobe.ne.jp/~apollo/server/server.html
0973デフォルトの名無しさん
05/02/26 22:50:06興味があったので作ってみたら。 OS=Windows2000Proで。
スワップ始まって2G近くメモリーをmallocして、スワップが無くなったらNULLが
帰ってきた。システムは重いが動く、システムメッセージで
「仮想メモリーが足りないので増やしてくれ」と言われ、testプログラムをKillして
今正常に動いてるよ。結構頑丈。w
0974デフォルトの名無しさん
05/02/26 23:10:140975デフォルトの名無しさん
05/02/26 23:11:48結局、「ダウン」しなかった
cl.exe Ver13.10.3077: 1921M
bcc32.exe 5.5.1: 1906M
で、どちらも malloc が NULL を返してきたが
これといって処理が重くなったりはしなかった
書き込みアクセスしてればもう少し違ったかも知れんが・・・
OS 名Microsoft Windows XP Professional
バージョン5.1.2600 Service Pack 2 ビルド 2600
プロセッサx86 Family 6 Model 10 Stepping 0 AuthenticAMD ~1463 Mhz
合計物理メモリ1,024.00 MB
利用可能な物理メモリ503.27 MB
合計仮想メモリ2.00 GB
利用可能な仮想メモリ1.96 GB
ページ ファイルの空き容量2.40 GB
ページ ファイルC:\pagefile.sys
0977デフォルトの名無しさん
05/02/26 23:20:11無限ループで動いてたから、その分が重かったかもな。
他に4本ほどプログラムも動かしてたし。
>>974
漏れは古い人間たから、意外だと思ったんだよ。気にするな。
0978デフォルトの名無しさん
05/02/27 02:08:01find /usr/include -name '*.h'|xargs grep htonl /dev/null
0979デフォルトの名無しさん
05/02/27 03:26:069xとNT系を混同しちゃったんだね
0980デフォルトの名無しさん
05/02/27 09:41:530981デフォルトの名無しさん
05/02/27 10:08:150982デフォルトの名無しさん
05/02/27 11:00:130983981
05/02/27 11:10:180984デフォルトの名無しさん
05/02/27 11:33:420985デフォルトの名無しさん
05/02/27 11:36:27ビット演算は整数型にしか使えない事を知っての発言ですか?
0986デフォルトの名無しさん
05/02/27 11:37:230987デフォルトの名無しさん
05/02/27 11:40:150988デフォルトの名無しさん
05/02/27 11:42:56和集合…x|y
積集合…x&y
差集合…x^(x&y)
0989デフォルトの名無しさん
05/02/27 11:46:470990デフォルトの名無しさん
05/02/27 11:47:390991デフォルトの名無しさん
05/02/27 11:51:020992デフォルトの名無しさん
05/02/27 11:51:150993デフォルトの名無しさん
05/02/27 11:52:210994デフォルトの名無しさん
05/02/27 11:53:070995デフォルトの名無しさん
05/02/27 11:54:000996デフォルトの名無しさん
05/02/27 11:54:00ァ ∧_∧ ァ,、
,、'` ( ´∀`) ,、'`
'` ( ⊃ ⊂) '`
0997デフォルトの名無しさん
05/02/27 11:55:39a & b = ~(~a | ~b)
~a | ~b = ~(a & b)
~a & ~b = ~(a | b)
0998デフォルトの名無しさん
05/02/27 11:56:19a && b == ~(~a || ~b)
~a || ~b == ~(a && b)
~a && ~b == ~(a || b)
0999デフォルトの名無しさん
05/02/27 11:57:03a && b == !(!a || !b)
!a || !b == !(a && b)
!a && !b == !(a || b)
1000デフォルトの名無しさん
05/02/27 11:57:4510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。