[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 13:07 / Filesize : 131 KB / Number-of Response : 619
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

スレ立てるまでもない質問はここで 第89刷



1 名前:デフォルトの名無しさん [2008/02/11(月) 19:44:11 ]
質問する前にGoogleで検索しましょう。www.google.co.jp
プログラム・ソフトの使い方はPC初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
JavascriptはWeb制作板、CGIはWebプログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。

前スレ
スレ立てるまでもない質問はここで 88匹目
pc11.2ch.net/test/read.cgi/tech/1200057632/

487 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:37:13 ]
夢のある言語、将来性のある言語ってなんすか?
pc11.2ch.net/test/read.cgi/tech/1197612496/

488 名前:デフォルトの名無しさん [2008/02/25(月) 00:45:31 ]
>>484-487
サンクス

489 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:46:30 ]
sageわすれソーリーつまりごめんなさい

490 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:55:28 ]
COBOL で思い出したけど, 昭和 100 年問題なんてのが顕在化する
システムなんて残ってんのかな?


491 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 01:16:24 ]
EBNF について質問いたします。
 string = {[ symbol | whitespace | newline | literal ]};
 symbol = { "!" | ?略? | "~" };
 whitespace = { "\t" | " " };
 newline = { "\r" | "\n" };
とある中で、
 a) 上の string の規則に加え、string は Unicode 文字のみによって
   構成されていること
 b) literal は symbol, whitespace, newline でもない文字のみの集合
   であること
を示す規則はどのように記述すべきでしょうか。
例えば a) に関しては、
 string = {? Unicode character ?};
 string = {[ symbol | whitespace | newline | literal ]};
と書くほかないのでしょうか。個人的にはできれば string = (*...*) の
(つまり単一定義の) 形で纏めたいと思っています。

特に他のプログラムに食べさせる用途ではないので、他に方法が
無いならば?...? でも構わないと考えていますが、余り相応しいとは
思えません。どうかご教示いただけませんでしょうか。

492 名前:デフォルトの名無しさん [2008/02/25(月) 21:15:52 ]
最近Cプログラムを始めたんですが、
面白過ぎますねこれ。もうずーっとやってます。
これでお金貰えて、どんどん上達していくなんて夢がありますね。



493 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:22:51 ]
C言語で2次元配列の値を関数に渡して、関数で受け取りたいのですがどのようにしらいいでしょうか?

int test = {{1, 2}, {1, 2}};

hoge( test);

void(int**){};


だと、hogeの呼出がポインタがおかしいと言われました。

494 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:27:02 ]
>>493
void f(int a[][2]){}
または
void f(int (*a)[2]){}

495 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:46:58 ]
どうしてそのようなかたちになるのでしょうか?



496 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:54:47 ]
int** は int* の配列を入れるための物。
int(*)[2] は int[2] の配列を入れるための物。

497 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:59:44 ]
ありがとうございます。

argvはchar** argvとしているのですが、どうしてこれはいいのでしょうか?

498 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:02:19 ]
呼出元がchar*の配列を渡してくるから。

499 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:06:18 ]
たびたび申し訳ありません。

hoge(test);

void test(arg[][2]){};

としましたが、同じエラーが出ました。

またプロトタイプ宣言は、
void test(int[][2]);
としましたが、まちがっていないでしょうか?

500 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:07:50 ]
すみません 勘違いでした。

501 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:45:54 ]
c++の例外についてですが
例外中立と
オブジェクトの不整合をおこさないようにする

とはどういう意味でしょうか?


502 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:51:36 ]
ググレカス

503 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:06:16 ]
ExceptionalC++を読んで
例外安全でググレカス

504 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:09:32 ]
知らないなら黙れカス

505 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:32:49 ]
>>501
例外中立ってのは、発生した例外を勝手にもみ消さない、くらいの意味
せっかく投げた例外が勝手に消されちゃ困るだろう

不整合ってのは、オブジェクトがあるべき正しい状態でなくなること
そんなことになったら困るだろう、不整合は起きない方がいいに決まっている



506 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:36:26 ]
今からお風呂に入りながら
「なんでstd::stackはpop()じゃなくてtop()で値を取得するんだろう」
と考えるといいかもNE!

507 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:08:59 ]
ガス代が高いんで、湯舟にははいれません。
シャワーもぎりぎりの節約です。

508 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:58:07 ]
なら眠る前の一時にでも思索に耽ればいい。

509 名前:デフォルトの名無しさん [2008/02/26(火) 03:01:51 ]
2ch専用ブラウザみたいなのを作ってみたい。
どんな言語を勉強したらいいの?

510 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:22:20 ]
携帯用だったらJava、PC用だったらC++か何か、というように
ターゲットの環境でアプリケーションを作るのに一般的なプログラミング言語がいいと思う。

あと言語ではないけど、HTTPの勉強も多かれ少なかれ必要。

ちなみに、こういうスレもあるよ。
初心者のためのプログラミング言語ガイド Part7
pc11.2ch.net/test/read.cgi/tech/1200807067/l50

511 名前:デフォルトの名無しさん [2008/02/26(火) 04:03:25 ]
matlabについてですが。。。

二値画像にラベル付けをしてあるのですが、
ある座標を与えて、その座標を含むオブジェクトのラベル番号、
もしくはそのオブジェクトを構成している全座標を入手したいです。
[r,c] = find(bwselect(Img2,i,j));
これが僕の絞り出した答えでしたが無理でした。。

いいアイディアがありましたら教えてください。


512 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 04:25:23 ]
>>511
MATLABスレへどうぞ

513 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:26:32 ]
関数にアドレスを渡したいんですが、その変数をキャストしたいです。
&hoge
を、
(char &)hoge
とすると、別のエラーが出てしまいます。

514 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:42:33 ]
>>513
関数のプロトタイプ宣言と渡したいものについて詳しく。

515 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:48:54 ]
java の javadoc みたいなのが
C言語にありますか



516 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:52:09 ]
intな値を、unsigned intにアドレス型でキャストするにはどうしたら良いですか?

517 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:53:33 ]
>>515 doxygen

518 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:06:20 ]
>>516
アドレス型なんてものはCにもC++にもありません。

519 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:12:28 ]
>>513
(char &)hogeじゃなくて(char *)hoge

520 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:32:25 ]
(char *)&hogeじゃないかな
hogeのアドレスをcharへのポインタにキャストするなら

521 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:49:42 ]
>>520
じゃないでしょう、多分。

522 名前:デフォルトの名無しさん [2008/02/26(火) 17:19:02 ]
C言語とC++ってどう違うの?

523 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:22:32 ]
C言語を拡張したのがC++
簡単に言うと自由度と出来ることが増えた

524 名前:523 mailto:sage [2008/02/26(火) 17:24:46 ]
出来ることってのは御幣があるな…まあいいや。
詳しい話は詳しい人に、パス。

525 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:34:17 ]
自由度と出来ることは同じ
方法が違うだけ



526 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:50:57 ]
全然違う

527 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:54:42 ]
Cはすごく高級な低級言語
C++はすごく低級な高級言語

528 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:29:59 ]
どっちも高級言語じゃねーの?

529 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:35:52 ]
>>527はすごく低脳。

530 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:36:28 ]
>>52
ありがとうございます。それでうまくいきました。

531 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 20:41:32 ]
プログラムのドキュメントもしくはドキュメント作成システムに関するスレってある?


532 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 20:47:04 ]
あるけど、聞くより自分で検索したほうが早いよ。

良いドキュメント・マニュアル・仕様書を書くスレ
pc11.2ch.net/test/read.cgi/tech/1065364445/l50

533 名前:デフォルトの名無しさん [2008/02/26(火) 23:03:06 ]
ほんとうにきほんてきなことですまないが
if(a)
のとき
真になるのは 0だっけ -1だっけ? 1以上のときはどうなるの?

534 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:04:56 ]
言語によるが、Cなら0が偽、それ以外が全て真(代表値は1)。

535 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:07:09 ]
聞くより組んだ方が早いと思うんだがな



536 名前:デフォルトの名無しさん [2008/02/26(火) 23:19:42 ]
enum {TRUE, FALSE}

だとTRUEは0?

537 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:23:33 ]
>>536
何の言語か知らんが、C/C++ ならそのとおり。


538 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:40:35 ]
C/C++に限るなら
enum { TRUE = 0, FALSE };
ってしないと0なのは保証できない。
ちなみにif(a)は、aが算術用の値でなくても、つまり0や1など数値がなく
なんらかの構造体などであったとしても、ビット列が全て0でなければそれはtrueと評価される。

539 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:07:28 ]
>C/C++に限るなら
>enum { TRUE = 0, FALSE };
>ってしないと0なのは保証できない。
そうだっけ?と思いいろいろ調べてみたけどソース確認できず・・・マジ?

540 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:09:38 ]
最初のメンバは0と決まっていた希ガス。

541 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:13:38 ]
VCで書かれたであろうソースがあるのですが、
VCのソースは上位で書かれたソースであっても、VC6で開いてビルドできますか?

VCだと判断したのは、.vcprojというファイルがあるからです。


542 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:20:41 ]
>>541
VS2005がvcprojとかいう拡張子だった気がする。たぶん2008も同じだろうな。
ソースがC++であるならコンパイルはできるがvcprojファイルは開けないだろうな。
プロジェクト作り直してビルドすればいい。

543 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:37:47 ]
確か2003辺りからvcprojになったと思うのだけど、互換性は微妙になかった希ガス。
まぁ一応旧いプロジェクトは新しいIDEで開けたはずだけど。
尤も、肝腎のコードもVC6は互換性が損なわれているからVC6なんか使わずに
2005EE辺りを拾ってきた方が医院で内科医?

544 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:47:14 ]
Yボタン押すと、ミサイルとかが解除されて、セレクト何回も押さなくてウマー

545 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:47:50 ]
error!(ゴバーク:line544)



546 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 03:36:04 ]
error: subscripted value is neither array nor pointer
というエラーがC言語のプログラムで出たのですが、どういったいみでしょうか?

547 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 03:45:08 ]
>>546
配列やポインタでないものに[]を付けてないか?

548 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:00:44 ]
>>547
ありがとうございます。

mallocで確保したメモリに、[]でアクセスしようとしています。
こういったことはできないのでしょうか?

549 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:16:02 ]
>>548
mallocで確保したメモリを受けている変数の宣言はポインタ型になってる?
たとえば、
int *a = (int *)malloc(100 * sizeof(int));
のつもりで
int a = (int *)malloc(100 * sizeof(int));
になってるとか。

550 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:20:59 ]
549だと変数への代入段階でwarningが出そうか。
間違って
int a = (int)malloc(100 * sizeof(int));
みたいになってて、a[0]とかやると546のエラーだけがたぶん出ると思う。

551 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:28:59 ]
>>549の上のは下のと対比するつもりでキャストしたけど実際はキャストはいらない
int *a = malloc(100 * sizeof(int));
でコンパイルを通る

552 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:36:53 ]
今気がついた。
もしかして、mallocで確保したメモリをint型の配列として使用しようと、
int array = malloc(...);
みたいにしていない?で、stdlib.hをincludeしていないとこれは警告が出ない。
そのあと、array[...]でアクセスしようとした段階でエラーを吐く。

553 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:40:34 ]
gccでやってみた。gccはstdlib.hをincludeしなくてもデフォルトでちゃんと警告を吐いてくれたorz
スレ汚しスマン

554 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 17:54:02 ]
固定小数点数の逆数を求めるには、どうするのが高速でしょうか

555 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 18:02:39 ]
とりあえずニュートン法とか?



556 名前:デフォルトの名無しさん [2008/02/27(水) 19:04:08 ]
execについて質問なんですが、
Cのプログラム中で、exec("ls");を実行した場合、lsが終了してからPGに戻ってくるのでしょうか?
それともほんのわずかな時間ではあってもPGとlsが平行に処理されるんでしょうか?

557 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:15:16 ]
man exec

558 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:41:45 ]
>>556
execすると自分自身がexecに「なってしまう」
なのでexecしたあとのコードが実行されることは通常ないのですよ。

だから、まずfork(); して自分自身のコピーを作り、
コピーしたプロセス内でexec("ls");してlsに「なる」。

そしてfork()した親側がlsの終了を待ちたいときは
waitpid(pid, &status, 0);
で終了するまで待ってやる。


559 名前:デフォルトの名無しさん [2008/02/27(水) 19:49:48 ]
>>558
なるほど。わかりました。
ありがとうございました。

560 名前:デフォルトの名無しさん [2008/02/27(水) 21:25:41 ]
プログラムで使用するテキスト形式のひな形ファイルを、実行ファイルの中にひっくるめる方法ってないですか?
いつも使うのに一緒に置いておくのはわずらわしいので一つにひっくるめたいんです。

561 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:26:49 ]
あるある

562 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:28:00 ]
char textFormatTemplate[] = "ここにファイルの中身を書く";

563 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:44:19 ]
Windowsならリソースという仕組みがある。

564 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:55:10 ]
>538、539
JIS X3010:1999の6.7.2.2列挙型指定子より
> (略)最初の列挙子に = が無い場合,その列挙定数の値は0とする。
> = がない2番目以降の各列挙子は,直前の列挙定数の値に1を加えて
> 得られる定数式の値をもつ列挙定数を定義する。(略)

565 名前:デフォルトの名無しさん [2008/02/27(水) 22:08:56 ]
UNIX上で動いてるCプログラムで、プログラムを起動したユーザー名を取り込むにはどうすればいいんでしょうか?



566 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:12:37 ]
>>565
つ[getuid()]

567 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:13:13 ]
const char *username = getenv("USER");

568 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:13:39 ]
getuidして、getpwuidでいいのかな?

569 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:28:07 ]
すみませんがDirectorのLingoのスレってどこかにありますか?

570 名前:539 mailto:sage [2008/02/27(水) 22:28:18 ]
>>564
ありがと。やっぱ大丈夫だよな・・・
これ調べてて初めて知ったんだがenumの最後の定数の後ろのカンマが認められるようになったのはC99からなんだな。
VC6.0で通るからC99以前からからそうだと認識してたよ。
(ex.)
enum {
HOGE,
HUGA, // ←この行のカンマC89ではエラー、C99ではOK
};

571 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:29:48 ]
C++ では未だに許されてない。
C++0x を待て。

572 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:45:19 ]
>>570
HUGA, // ←この行のカンマC89ではエラー、C99ではOK // ←この行のダブルスラッシュC89ではエラー、C99ではOK

573 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:53:24 ]
うまいw

574 名前:デフォルトの名無しさん [2008/02/28(木) 02:02:18 ]
list構造内の文字列を可変にすることは出来ますか?
例えば、

struct list {
char name[20];
struct list *next;
};


ではなくて、nameを入れる文字列によって変えたいんです。最大に合わせるとメモリ食いすぎて・・・


575 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 02:10:10 ]
struct list {
struct list *next;
char name[0]; /* または char name[1]; */
};



576 名前:デフォルトの名無しさん [2008/02/28(木) 02:10:42 ]
可変長文字列はstring 使うだろ
片方向リストもSTLつかえよ

577 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 02:15:07 ]
命令すんなハゲ

578 名前:デフォルトの名無しさん [2008/02/28(木) 02:19:54 ]
初心者はC言語やらないでSTLの勉強しろよな

#include <iostream>
#include<string>
#include<list>
using namespace std;

main(){
list<string> lst;

lst.push_back("aaaaa"); //後方に挿入
lst.push_back("bb"); //後方に挿入
lst.push_back("qqqqqqqq"); //後方に挿入
lst.push_front("hage"); //前方に挿入

//内容表示
list<string>::iterator p;
for(p = lst.begin() ; p != lst.end() ; p++ )
cout << *p << endl;
}

579 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 02:47:43 ]
初心者は勉強のためにList位自分でかけ

580 名前:デフォルトの名無しさん [2008/02/28(木) 02:53:06 ]
初心者はアセンブラからって言う話になるぞ
便利、簡単なことからやるのが初心者向き

581 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 09:34:52 ]
ここでいいのかな

VBしかさわったことの無い初心者ですが、
自分でIEみたいなブラウザ作るには何の勉強したらいいの?
ちょっとアイディアがあるんで挑戦したいのだけども。

582 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 09:46:45 ]
>>581
VBでなにが不足なんだ?

583 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 09:49:46 ]
>>581
何かを実現しようとするためには何が必要かを自分で調べる能力、
これを養う勉強をしたら良いと思うよ。

584 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:34:40 ]
short int hoge[10][10];
short int* hoge_m = (short int *)malloc( 10 * 10 * (sizeof(short int)));
と宣言して処理しているのですが、hoge[10][10]にhoge_mをコピーしたいです。

ループでshort intづつコピーしようと考えているのですが、スマートな方法はありませんか?

585 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:43:24 ]
memcpyなりWindowsならCopyMemoryなりご自由にどうぞ



586 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:49:00 ]
VistaってC言語で作られてんの?

587 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:52:52 ]
C++だろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<131KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef