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


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

【初心者歓迎】C/C++室 Ver.40【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 09:10:30 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.39【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1182740506/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

809 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 00:42:20 ]
>>807
くやしく

810 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 00:42:59 ]
なんだあほか

811 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 00:49:08 ]
>>809
www.boost.org/libs/iterator/doc/indirect_iterator.html#example
value_typeがT*(一般に*演算子が使える型)なイテレータをラップして
value_typeがTであるイテレータにするアダプタ。

812 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 00:55:04 ]
>>805さんの方法で上手くいきました、ありがとうございます

813 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 02:58:29 ]
こういうこんがらかるようなソースは嫌い

814 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 03:03:32 ]
こんがりコーン

815 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 03:04:27 ]
普通に一個一個newすればいいのに

816 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 03:12:07 ]
newが現れた。newが現れた。・・・おや?new達の揚子江が・・・・・!?

817 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 03:22:39 ]
兆候って言えよ



818 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:30:45 ]
template <typename T> void f( typename boost::call_traits<T>::param_type x);
みたいな定義で
type x;
f(x);
のようにして使いたいんですが(要はf<type>(x)とかするのがめどい)
何か良いアイデアありませんか?

819 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:53:48 ]
template <typename T> void f(T x)ならそのままf(x)できるけどboost::call_traitsってなんだっけ?

820 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:54:11 ]
f(x)で呼べるだろ。

821 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:55:27 ]
>>819
boost::call_traits<T>::param_typeは、
引数がクラス型ならconst T&、組込型ならTというように、引数に最適の型になる。

822 名前:819 mailto:sage [2007/08/04(土) 12:56:31 ]
>>821
だったら>820。

823 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:14:08 ]
普通に考えればそうなるはずなんですが、結果は

#include <boost/call_traits.hpp>

template <typename T> void f(typename boost::call_traits<T>::param_type) {}

int main() {
int x;
f(x);
}

error C2783: 'void f(boost::call_traits<T>::param_type)' : テンプレート 引数を 'T' に対して減少できませんでした
'f' の宣言を確認してください。

oops。。。

824 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:24:07 ]
コンパイラは何?
vc6だとboostの一部は使えないよ。

825 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:40:31 ]
工工工工工工エエエエエエ(´д`)エエエエエエ工工工工工工

826 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:42:43 ]
VC8です
あとGCC3.4でも試してみたが駄目ですた
型推論が上手く行かない為だと思うんですが、これはバグなのか
言語仕様上の限界なのかよくわかりません

827 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:14:16 ]
2.5 というのをファイルから読み込んだんですが、これを小数(Float)に変換するには
どうすればいいんでしょうか?



828 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:17:26 ]
↑質問をちょっと訂正です
変換する上で便利な関数はありますか?
atoiか何かで1文字づつ変換して入れてくしかないんでしょうか?

829 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:28:47 ]
atof(), strtod()

830 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:29:03 ]
ありゃまatofなんて関数があったんですね
解決しました

831 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:42:03 ]
あとふ

832 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:46:03 ]
acof

833 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:51:54 ]
>>826
ググったら上のほうにこんなのがあった。
lists.boost.org/Archives/boost/2005/09/94177.php
どうやらC++の仕様らしい。

834 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:17:57 ]
関数ブロック内で定義した関数って、
外部リンケージと内部リンケージどっちなんですか?

関数はstatic以外、外部リンケージつう説明を読むと外部リンケージですけど、
別のファイルから使うことなんて出来ないですよね?

てか、リンケージの説明が微妙によくわかりません。
なんか良い説明してるページってありますか。

835 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:46:56 ]
warning: ISO C forbids nested functions

836 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:58:55 ]
>>835
ああ・・・ああ・・・・なんてこったい。
で、入れ子関数はGCCだと内部リンケージになるらしいですね。

837 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 21:23:18 ]
void hoge() {
 struct nested_fn { void foo() { /* valid nested function */ } };
}



838 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:18:04 ]
ちょっと組込み系で
簡単なGUI作っているのですが

GUI部分とメインロジックを接続するイベントモデルを
設計しているのですが、最近のトレンドだとどんな
感じで実装してるのですか?

関数ポインタ方式
シグナル-スロット方式
ターゲット/メッセージ方式
とかなのかな?

あと実際に実装してみようと思うと何かうまい資料とか
あると助かるのですが、みなさんは実装しようとしたとき
何を参考に実装しているの?

839 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 04:49:13 ]
XMLResourceかね、XULみたいな
でも組み込みじゃ無理か

840 名前:デフォルトの名無しさん [2007/08/05(日) 05:08:02 ]
C++でSingletonなClassを実装したいのですが、staticを使う方法しか思いつきません。
出来ればstaticを使用せずに実現したいのですが可能でしょうか。
具体的なコードや、参考HPのURLを示していただけると助かります。
よろしくお願いします。


841 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:22:37 ]
static 使わずに Singleton なんて無謀

842 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:25:15 ]
extern

843 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:27:56 ]
なんでstaticを使いたくないんだろうか?

844 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:30:46 ]
インスタンス取得関数を friend 関数で作り、
そのインスタンスへのポインタをグローバルに置く、
くらいが限界か。
全く意味がないけど。

845 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 06:05:06 ]
ファクトリ用のクラスを作ってそこでインスタンスを管理するとか。
もっともファクトリにstaticが必要になるような気もするけどw

846 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 08:34:24 ]
C++以外の言語でもstatic相当のものを使わないと無理だよな。

847 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:25:28 ]
うまく説明できないんですが、BCBで何も考えずに__closure使ってます。
これを使わない場合、どう書けばいいですか?エスパーさんよろしこ



848 名前:エスパー mailto:sage [2007/08/05(日) 09:27:07 ]
死ね

849 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:36:20 ]
説明できないならソースで説明してくれ

850 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:38:27 ]
しょうゅdeも11お

851 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:58:55 ]
delete x,y,z;
はOKなのに、配列に対する
delete [] x,y,z;
で、うまくいかない理由を教えてください。
一文で各方法はないでしょうか?


852 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:04:14 ]
>>851
delete x,y,z;も全然良くない。
deleteとdelete[]演算子は1つしか演算対象を取らない。
また、カンマ演算子は最低の優先順位なので、こうは書ける。
delete x, delete y, delete z;
delete[] x, delete[] y, delete[] z;
1行に複数文を並べるのと大して変わりはないが。

853 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:07:54 ]
マクロ

854 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:08:33 ]
配列と通常のやつのdeleteが異なるってことが気にくわねぇなら
プリプロセッサとmplを組み合わせて、delete_(x, y, z,...);みたいな物作ろうぜ
既に誰かが作ってるかもしれないが

855 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:11:44 ]
そもそも配列new[]は使わないし、
deleteも生で使うのはダサい。

856 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:11:57 ]
初心者なんですが、fopenってファイルを開くだけでメモリに乗せるわけではないですよね?
ちょっと疑問に思っていまして・・・

857 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:14:13 ]
>>855
じゃあどうするの?



858 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:14:28 ]
裏でバッファリングを始めている可能性はあるが、
気にするようなことではない。

859 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:15:49 ]
生ポだろがスマポだろうがお構い無しに意味上での構築破壊が出来る構文が必要ということか

860 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:16:11 ]
>>857
new[]→std::vectorあるいはもっと低水準のメモリ確保ルーチンへの二極化。
delete→boost::scoped_ptr, boost::shared_ptr

861 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:17:06 ]
>>860
そもそも世の中boost使えない場合が多いの
そんな限定していいの?

862 名前:858 mailto:sage [2007/08/05(日) 10:19:13 ]
>>858
うーん、TB級のファイルをfopenで開くことって出来ますかね・・・

863 名前:856(訂正) mailto:sage [2007/08/05(日) 10:20:32 ]
>>858
間違えましたorz

864 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:23:08 ]
ほほえましいな

865 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:28:06 ]
>>840
ソフトウェアの立ち上げを早くするために
遅延ロードみたいなことをしたいってこと?

866 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 10:30:08 ]
はい

867 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:22:59 ]
>>861
生を安全なものにするには、ラップするか、使い方に厳密な決まりを作る、しか無いよ。
本質的には。
既存の膜がないなら、できる範囲で自作するのが一番いいと思うけど。



868 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:57:29 ]
boost::shared_ptr
自分で実装するのめんどい誰か実装して。

869 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:59:06 ]
すでに実装済み

870 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:59:44 ]
めんどいから誰かが実装してくれたのが boost じゃないの

871 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 12:35:04 ]
あんなでかいライブラリ使いたくねー
他いらねーしshared_ptrだけ実装してくれよ

872 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 12:58:41 ]
既に実装済み

873 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:01:09 ]
じゃあフリーで使える単体のshared_ptrだけ作ってくれよ

874 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:06:18 ]
>>873
boostからshared_ptrだけコピペして使えよ

875 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:06:46 ]
既存

876 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:17:52 ]
テンプレートライブラリがどういうものか分かってないんじゃね

877 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:50:05 ]
boostのshared_ptrもいろいろincludeしてたりして、
依存性を調べるのが面倒くさいからなー。
shared_ptr.hppひとつコピペしたら済む話じゃないでそ?



878 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:51:25 ]
>>868
std::tr1::shared_ptr
libstdc++くらいしかまだ実装していないと思うけど。

879 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:53:04 ]
>>860
こういう流れになるから std::auto_ptr も挙げるようにしようぜ。

880 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:03:11 ]
>>879
auto_ptrを挙げるならばその罠や制限についても説明しなければならないだろ
単純なshared_ptrまがいなら色々見たことがあるし
そもそも基本的な原理は単純そのものだが
とうぜんそれらはshared_ptrほど注意深く実装はされていない

>>877
プリプロセッサに食わせて出力をgrepするだけの話だが
そもそも取り込むファイルが環境依存だからな

881 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:10:22 ]
>>880
> auto_ptrを挙げるならばその罠や制限についても説明しなければならないだろ

shared_ptr を並べて挙げとけば十分だよ。

罠や制限があっても share_ptr よりコストは低いし標準だし、
単純な例外安全目的にはぴったりだ。

882 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:32:32 ]
コンテナに突っ込めない出来損ないのスマポが標準だ?笑わせてくれる

883 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:39:05 ]
誰が笑おうがコンテナに突っ込めなかろうが、標準は標準。

単純な delete 強制のためだけに boost が要るなんて言われても
面倒なんだよ。

884 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:40:43 ]
笑うのはいいこと、もっと笑おう

885 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:48:59 ]
>>882
コンテナに突っ込めるスマポが標準にないところも笑いどころ。

886 名前:デフォルトの名無しさん [2007/08/05(日) 17:08:20 ]
今、ある数学のプログラムをネット上で見つけたので、
それをコンパイルすることを試みているのですが、
エラーがいっぱい出て、うまいごとにコンパイルできません。
Borland社のbcc32というのを使ってます。

そのソースはこちらのウェブサイトに全部載ってます。

www.math.temple.edu/~wds/homepage/steiner-code.c

それから、コマンドプロンプトでコンパイルを試みた結果、
以下のようなエラーが出てきました。
そのエラーにあったようにデバッグを試みたが、
どこをどうデバッグすればいいかもわからなかったので、
どなたか分かる方がいれば本当に助かります。

887 名前:886 [2007/08/05(日) 17:09:16 ]
C:\Documents and Settings\Math\デスクトップ\steiner code>bcc32 stei
ner-code.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
steiner-code.c:
エラー E2219 steiner-code.c 39: マクロ 'RANDM' の呼び出しにおける引数の個数が誤
っている(関数 buildtree )
エラー E2188 steiner-code.c 39: 式の構文エラー(関数 buildtree )
エラー E2219 steiner-code.c 52: マクロ 'RANDM' の呼び出しにおける引数の個数が誤
っている(関数 buildtree )
エラー E2188 steiner-code.c 52: 式の構文エラー(関数 buildtree )
警告 W8065 steiner-code.c 183: プロトタイプ宣言のない関数 'srand48' の呼び出し(
関数 main )
警告 W8065 steiner-code.c 188: プロトタイプ宣言のない関数 'exit' の呼び出し(関数
main )
警告 W8065 steiner-code.c 192: プロトタイプ宣言のない関数 'exit' の呼び出し(関数
main )
警告 W8065 steiner-code.c 207: プロトタイプ宣言のない関数 'buildtree' の呼び出し
(関数 main )
警告 W8065 steiner-code.c 208: プロトタイプ宣言のない関数 'length' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 208: プロトタイプ宣言のない関数 'error' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 209: プロトタイプ宣言のない関数 'optimize' の呼び出し(
関数 main )
警告 W8065 steiner-code.c 211: プロトタイプ宣言のない関数 'output_tree' の呼び出
し(関数 main )



888 名前:886 [2007/08/05(日) 17:10:32 ]
警告 W8065 steiner-code.c 212: プロトタイプ宣言のない関数 'exit' の呼び出し(関数
main )
エラー E2451 steiner-code.c 218: 未定義のシンボル HUGE(関数 main )
警告 W8065 steiner-code.c 225: プロトタイプ宣言のない関数 'buildtree' の呼び出し
(関数 main )
警告 W8065 steiner-code.c 227: プロトタイプ宣言のない関数 'length' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 228: プロトタイプ宣言のない関数 'error' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 230: プロトタイプ宣言のない関数 'optimize' の呼び出し(
関数 main )
警告 W8065 steiner-code.c 232: プロトタイプ宣言のない関数 'optimize' の呼び出し(
関数 main )
警告 W8065 steiner-code.c 232: プロトタイプ宣言のない関数 'length' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 232: プロトタイプ宣言のない関数 'error' の呼び出し(関
数 main )
警告 W8065 steiner-code.c 237: プロトタイプ宣言のない関数 'output_tree' の呼び出
し(関数 main )
*** 5 errors in Compile ***

889 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 17:22:28 ]
>>886
上から順番につぶしていけば?
標準から大きくずれている&独自の書き方が多いでとても読解する気になれんw
取り合えずRANDMマクロは単に乱数欲しいだけみたいだからrand()にでも置き換えてみるとか?


890 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 17:24:05 ]
昔のソースなんだろ。
1989年と書いてあるな・・・

891 名前:886 [2007/08/05(日) 17:32:28 ]
>>889

ありがとうございます。
RANDM()と書いているところをrand()に置き換えたらいいんでしょうか?

>>890

だとしたら、最近のコンパイラではコンパイルできないということでしょうか?

すみませんが、ご教授お願い致します。

892 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:00:10 ]
何の宿題かぐらいはちゃんと書けよ。


893 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:03:24 ]
#include <stdlib.h>
を加えて、以下の修正を

typedef double REAL;
#define RANDM() (rand() / (double)RAND_MAX) /* uniform random deviates in (0,1) */
#define INITRAND() (srand(57731))

void buildtree(int k, int topvec[])
REAL length(void)
void optimize(REAL tol) /* a small positive number */
REAL error(void)
void output_tree(void)

int main(){ /* Inputs NUMSITES, DIMENSION, sites; outputs successive best Steiner
  :
  :
  :
return 0;
} /* End of Steiner tree program. */

894 名前:886 [2007/08/05(日) 18:03:56 ]
>>892

なんの宿題か、というわけでもないのですが、
自分は数学関連の研究をしているもので、プログラミングに関しては
ほとんど知らないわけですが、たまたま自分の研究に関連する
プログラムをネットで見つけたので、それを使えるようにしたいと
思い、なんとかコンパイラをインストールするところまでには
至ったんですが。

895 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:04:32 ]
-AKオプションつけるとどうなる?

896 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:05:56 ]
ごめん。[0, 1] じゃなくて [0, 1) みたいだからこうだな。

#define RANDM() (rand() / (RAND_MAX + 1.0)) /* uniform random deviates in (0,1) */

897 名前:886 [2007/08/05(日) 18:13:26 ]
>>893 >>896さん

親切にありがとうございます。早速実行してみましたが、こうなりました。

C:\Documents and Settings\Math\デスクトップ\Lenny's File\steiner code>bcc32 stei
ner-code.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
steiner-code.c:
エラー E2379 steiner-code.c 39: ステートメントにセミコロン(;)がない(関数 buil
dtree )
エラー E2379 steiner-code.c 52: ステートメントにセミコロン(;)がない(関数 buil
dtree )
エラー E2379 steiner-code.c 182: ステートメントにセミコロン(;)がない(関数 mai
n )
エラー E2193 steiner-code.c 187: 呼び出し時のパラメータが足りない:exit(関数 mai
n )
エラー E2193 steiner-code.c 191: 呼び出し時のパラメータが足りない:exit(関数 mai
n )
エラー E2193 steiner-code.c 211: 呼び出し時のパラメータが足りない:exit(関数 mai
n )
エラー E2451 steiner-code.c 217: 未定義のシンボル HUGE(関数 main )
警告 W8066 steiner-code.c 260: 実行されないコード(関数 main )
*** 7 errors in Compile ***



898 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:15:49 ]
#include <stdlib.h>
#define HUGE HUGE_VAL
#define exit() exit(EXIT_FAILURE)
を追加で少しましになった

まだ、drand48,srand48でエラーが出る
drand48,srand48ってUNIX Cの関数で標準のC関数じゃないのか?

899 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:16:26 ]
rand48 は UNIX/Linux の関数だね。

900 名前:デフォルトの名無しさん [2007/08/05(日) 18:18:51 ]
BCCなんて糞コンパイラ使ってるからだよm9(^Д^)プギャー

901 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:20:01 ]
しかし886よ、そのプログラムをなんとか動かせたとして、使い方は判ってるのか。

902 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:20:26 ]
これでどう?
ttp://sund1.sakura.ne.jp/uploader/source/up9355.c

903 名前:886 [2007/08/05(日) 18:24:27 ]
>>902

わざわざアップまで親切にありがとうございます。エラーが4つになりました。
迷惑をお掛けしました。

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
steiner.c:
エラー E2219 steiner.c 40: マクロ 'RANDM' の呼び出しにおける引数の個数が誤ってい
る(関数 buildtree )
エラー E2188 steiner.c 40: 式の構文エラー(関数 buildtree )
エラー E2219 steiner.c 53: マクロ 'RANDM' の呼び出しにおける引数の個数が誤ってい
る(関数 buildtree )
エラー E2188 steiner.c 53: 式の構文エラー(関数 buildtree )
警告 W8066 steiner.c 261: 実行されないコード(関数 main )
*** 4 errors in Compile ***

904 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:25:37 ]
あ、間違えた。

RANDM(a) の a を削除

905 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:27:21 ]
何かこのプログラム永遠に終了しないみたいなんで、
main の最後の return 0; は不要みたいだな。

906 名前:886 [2007/08/05(日) 18:28:03 ]
>>900

それじゃあ他の只でダウンロードできるやつ、もしくはフリートライアル
のやつをインストールして、やってみた方がいいでしょうか?

>>901

大体何をしたいかはわかってます。後は試行錯誤です。
InputとOutputのサンプルが載っている論文が手元にあります。

907 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:36:18 ]
>>902 で一様buildできたが、何をするんだこれ?



908 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:42:08 ]
>>906
そのまま一生試行錯誤してればいいよ

909 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:48:14 ]
enum {MSG_OK,MSG_YESNO};
enum {ID_OK,ID_YES,ID_NO};
int Message(char* msg ,int type){
char ch;
switch(type){
case MSG_OK:
printf("%s¥tPush Enter>",msg);
scanf("%c",&ch);
return ID_OK;
case MSG_YESNO:
printf("%s y/n>",msg);
scanf("%c",&ch);
return (ch == 'y' ? ID_YES:ID_NO);
}
return 0;
}
int main(){
Message("question",MSG_OK);
if(Message("How do you do?",MSG_YESNO) == ID_YES)
printf("good¥n");
return 0;
}
というプログラムで、わざとPush Enterと出た時に、Enterを押さないで適当なキーを押すと
huga$ ./a.out
question Push Enter>y
How do you do? y/nhuga$
と表示されます。
フォールスルーでもないし、ちゃんと2度目のMessage関数の呼び出しも出来ている
みたいなのですが、なぜこういう風に動くのでしょうか?

910 名前:886 [2007/08/05(日) 18:48:41 ]
>>907

説明するのが難しいのでとりあえず論文中にあったInputのサンプルです。

1 2 3
1 0 1.6180339887
0 1.6180339887 1
1.6180339887 1 0
-1 0 1.6180339887
0 1.6180339887 -1
1.6180339887 -1 0
1 0 1.6180339887
0 1.6180339887 1
-1.6180339887 1 0
-1 0 -1.6180339887
0 -1.6180339887 -1
-1.6180339887 -1 0

上のようなInputを与えると、(実際どのような手順で与えるかは
試行錯誤しないとわからないのですが)

new record length 18.5529
topology-describing vector
2 3 7 6 7 6 14
.........................

というOutputが出てくるはずです。
Inputは正20面体のすべての頂点の座標で、Outputはこれらすべての頂点を結ぶ木
(サイクルを作らないようなグラフ)の枝の総長を表わしています。

911 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:52:10 ]
最初の scanf("%c",&ch); でその適当に入力した文字が ch に入る。
そして2度目の scanf("%c",&ch); で改行が ch に入る。

912 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:55:22 ]
>>907
一様(いちよう)じゃなくて一応(いちおう)ね
一様は「違い・むらが無い」って意味

913 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:56:46 ]
なんかお子様多いな

914 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:58:18 ]
お前が一番お子様なのにね

915 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:59:23 ]
>>911
>最初の scanf("%c",&ch); でその適当に入力した文字が ch に入る。
>そして2度目の scanf("%c",&ch); で改行が ch に入る。
成る程です。
ちなみに、2度目の関数呼び出しの際、1度めに使われた変数の中身はクリアされないんでしょうか?

916 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:01:02 ]
>>910
正20面体って正三角形が20個でしょ?

917 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:01:15 ]
そもそも関数を抜けた時点で ch の中身は保証されなくなる。



918 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:20:14 ]
>>911
>最初の scanf("%c",&ch); でその適当に入力した文字が ch に入る。
>そして2度目の scanf("%c",&ch); で改行が ch に入る。
すいません、何故勝手に改行が入力されるのでしょうか?
その辺のFAQってどこかにありませんでしょうか?
勉強したいので。

919 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:22:51 ]
「y」と「改行」を入力したでしょう。別に勝手に入るわけじゃない。

920 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:27:57 ]
>>918
scanfの仕様に則っただけだからキニスルナ

921 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:28:59 ]
>>918
FAQだけで簡単に済まそうとしているのが間違い。
もっと基礎的なことからちゃんと勉強したら?
基本を知らずにFAQだけ読んでも、得られるものは少ないと思う。

> エラー E2379 steiner-code.c 39: ステートメントにセミコロン(;)がない(関数 buil dtree )

こんなエラーすらを自分で解決できないのでは、先に進みようが無い。

922 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:39:28 ]
>>921
ごめんなさい、ごめんなさい
あのー、基礎的なことってどんなことですか?
何が基礎的なことなのか分からないのです(>_<)

923 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:40:27 ]
基礎的なこと=何が基礎的なことなのか分からないこと

924 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:44:24 ]
C言語を真面目に勉強しろってさ

925 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:46:27 ]
HelloWorldは書いたかい?

926 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:47:19 ]
a,b,cはint型です。
a=0;b=0;c=0;とするところを、a=b=c=0;としても同じでしょうか?

927 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:49:34 ]
>>926
同じ、それくらい入門書でも読んでくれ。



928 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:55:48 ]
a=b=c=0;この場合の代入の順序はどうなんですか?
a=0,b=0,c=0 順番なのですか?
それとも
a=0,b=a,c=a

929 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:01:36 ]
=(a, =(b, =(c,0) ) );

930 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:04:08 ]
優先順位表見てる?
あれに右左も書いてあるべ

931 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:06:11 ]
a = (b = (c = 0)); ということ

932 名前:926 mailto:sage [2007/08/05(日) 20:12:50 ]
>>928
アフォか俺でも分かるわ

933 名前:928 mailto:sage [2007/08/05(日) 20:22:08 ]
>>931 しつこくすみません、低能なもんで
a = (b = (c = 0));は
c=0,b=0,a=0 なのですか?
それとも
c=0,b=c,a=b
つまりb = (c = 0)の処理の場合、b=0、b=cどちらが実行されるのでしょうか?

>>930 優先順位表って何ですか

934 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:29:40 ]
わざわざ1つの式にまとめて書いといて、順序もクソも無いもんだ。

935 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:32:08 ]
>>933
試せよそんぐらい。

936 名前:928 mailto:sage [2007/08/05(日) 20:34:37 ]
>>935
どうやってどちらが実行されてるか試すのですか?

937 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:40:12 ]
> つまりb = (c = 0)の処理の場合、b=0、b=cどちらが実行されるのでしょうか?

なにか違いが?



938 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:45:33 ]
c=0の評価値は0だ

939 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:47:20 ]
>>936
int a;
char b;
a = b = 12345;
printf("%d %d", a, b);

940 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:47:35 ]
a = (b = (c = 0));

cに0が代入される。
bに(c = 0)の式の値が代入される。この場合0なので0が代入される。
aに(b = (c = 0))の式の値が代入される。この場合0なので0が代入される。

941 名前:840 [2007/08/05(日) 22:23:56 ]
説明不足で申し訳ありません。
C/C++でstaticを使用する場合グローバルに変数の宣言が必要かと思いますが、
クラスの部品化の観点から、出来るだけグローバル変数の使用は避けたいと考えています。
で、記憶が曖昧なんですが、以前static_castなど(テンプレートを使用していたかもしれません)を使用して
GoFのSingletonパターンを実現している記事を見かけましてこちらで質問させていただきました。
何か情報御座いましたらよろしくお願い申します。


942 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:29:35 ]
>>941
グローバル変数は駄目でシングルトンならいいってのは、どういう理屈かね?

943 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:31:51 ]
>>941
>C/C++でstaticを使用する場合グローバルに変数の宣言が必要かと思いますが、
いや…、必要ないよ

class HOGE
{
public:
 static HOGE& get_instance(){
  static HOGE hoge;
  return hoge;
 }
private:
 HOGE();
};


944 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:42:19 ]
>>877
libjingleではboostからshared_ptrだけとりだしてコピペしてる箇所があるって聞いたぞ。
そんなに面倒とも思わんけどなぁ

945 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:56:04 ]
>>877
依存関係の調査自体は bcp 使えば要らない。結果の膨大さにびびるだろうけど。

946 名前:909 mailto:sage [2007/08/05(日) 23:23:53 ]
>>919
>「y」と「改行」を入力したでしょう。別に勝手に入るわけじゃない。
え、でもscanfで1文字標準入力を取得した後、
returnでmain関数に戻って、もう一度ifでMesssage関数を呼び出してるから
たとえ、改行文字があっても無視されるんじゃないんですか?
それにこのプログラムが意図したと売りに動く場合の、
一度目にenterおしてifでMessage関数呼び出して、2度目のifでMesssage関数
を呼び出してyを入力した場合、
huga$ ./a.out
question Push Enter>
How do you do? y/n>y
good
の場合はHow do you do? y/nでyとenterを押しているのに
なんで正確に動くんですか?
もしかして標準入力の内容ってバッファみたいなところに貯められるんですか?
>>921
自分は886では無いですよ。
少なくともコンパイルエラーを直してから、質問します。

947 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:27:12 ]
>>941
例えstaticやグローバル変数を避けてシングルトンを実装したとしても、
目的を達成する手段が変わっただけで、本質的には何も変わっていない。

そう書いてから942の焼き直しだと気付いた。



948 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:28:01 ]
>>946
>もしかして標準入力の内容ってバッファみたいなところに貯められるんですか?
そのとおり。
標準入力に限らず入出力にはバッファを利用されることが多い。

949 名前:909 mailto:sage [2007/08/05(日) 23:42:42 ]
>>948
へぇ、知らなかったです。
そんなこと、本には書いてなかったので。
イメージとしては
入力した文字がメモリのどっかに
hogehugamoge
みたいに保存されて、
そこからscanfの引数の変数の型の分(今回はchar型)
コピーされるみたいな感じなんですかね?


950 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:58:44 ]
そう。
正常に動くケースは、1文字目が改行で2文字目がyで3文字目が改行でしょ。
3文字目は読まれずにバッファに残ったままプログラムが終了するだけ。

951 名前:909 mailto:sage [2007/08/06(月) 00:11:27 ]
ありがとうです。
んで、何文字バッファに保存されるかはOSの実装によると。

952 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 00:39:39 ]
普通の使い方なら充分なくらいのバッファはあるはず・・・
10文字程度で満杯とかそんなことはまずない。

953 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 00:45:25 ]
ストリーム入出力ってのは、バッファリングされる入出力のことだ。

954 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 03:34:18 ]
すみません質問させてください。
txtファイルから、例えば40.123/42.591/43.569という文字列を読み込んで、
真中の42.591だけを数値として変数に格納したいのですが、
どうにも巧い方法が思いつきませんorz
何卒お力をお貸し頂けますようお願い致します。

955 名前:909 mailto:sage [2007/08/06(月) 03:35:24 ]
     / ̄ ̄ ̄ ̄\
   / ( ( (  ) .) )\
  / ( ( / ̄ ̄ ̄”\ .) )
  / ( ( |.        | ) )
  ( ( (  |   \ハ/ | ) )
  ( ( (  |  ゚ ̄ 〈 ゚ ̄ | ) )
  ( ( (  |      >   | ) )
  (. ( (  |    /へ)  /  ) )
  \_/|\   ー //\/
  / ̄ ̄\ ゛ーー/ ̄ ̄\
./     \ ̄ ̄ ”/     \
|       ●|・|  ||/       |
|   |    ●|・|  ||/       |
|   \_ ●|・|   ||/       |
.\   》||つ【♪1076】___/

956 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 03:40:07 ]
>>954
C なのか C++ なのか、まずはそれからだ。

957 名前:954 [2007/08/06(月) 03:41:45 ]
ごめんなさい、Cでお願いします。
後、sage禁止だったのですね。重ね重ねすみませんorz



958 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 03:49:30 ]
自己判断で
~~~~~~~~~~~~
寧ろage禁止

959 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 03:50:58 ]
sage禁止とはなんという斬新なルールなのか

960 名前:954 mailto:sage [2007/08/06(月) 04:01:48 ]
すみません、以後下げるようにしますorz

961 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 04:22:28 ]
どっちでもいいよ。自分で判断しる。

962 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 04:28:03 ]
>>957
いろいろ方法はある。

scanf 系関数を使うなら、
%*f のように書式に * を挟むことで
変数に格納しなくなるようにできるのを利用するとか。

あとは1行取得して、
それを strtok で "/" をデリミタにして処理した2番目の文字列を atof するとか。
strtok を使うのが気持ち悪いなら strchr を使ってもいいかもしんない。

963 名前:957 mailto:sage [2007/08/06(月) 04:48:30 ]
了解です、状況で判断しますorz

>>962
ご解答頂きありがとうございます。
教えていただいた通り、今回はstrtokを使ってみたいと思います。
%*fという表記は知らなかったので勉強になりました。
本当にどうもありがとうございましたm(_ _)m
また皆様のお力をお借りすることがあるかと思いますが、その時はどうぞよろしくお願い致します。

964 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 04:52:45 ]
strtok()は癖が強すぎるのでお勧めしない。
scanf()でフォーマットを'%*f/%f/%*f"にしてはいけないのか?

965 名前:957 mailto:sage [2007/08/06(月) 05:55:20 ]
>>964
strtok()は癖が強いのですか。
strtok()を使ったことが無かったので使ってみようかと思ったのですが、
そういうことであれば素直に%*fを使ってみたいと思います。
アドバイスありがとうございましたm(_ _)m

966 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 05:56:20 ]
test

967 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:26:44 ]
for(int i=0;i<n1;i++) {                          ←ここに飛びたい場合どうするのが一般的でしょうか?
  // 処理                            ↑
    for(int j=0;j<n2;j++) {                      ↑
        if (a[j] == b)    // 条件が成立したらループを抜けて↑
    }
    //処理
}



968 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:35:09 ]
>>967
つ[goto]

まぁ、アルゴリズムを見直してbreakだな。

969 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:36:46 ]
中のループをboolを返す関数にしてしまって
trueだったらcontinueとかね

970 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:31:43 ]
void f()
{
static char *theTxt;

strcpy(theTxt,"TEST¥n");
printf("%s",theTxt);
}
これってtheTxt;がstaticでnull初期化されているから
駄目なんですか?


971 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:38:10 ]
>>970
theTxtはポインタ。
strcpyはポインタの指すアドレスにデータをコピーする関数。

問題は、theTxtがどこも指していないこと。
mallocで確保するとか、配列にするとか、データの領域をまず用意

972 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:39:01 ]
どこも指してない、つーかNULLで初期化されてっからアドレス0を指してる、とも言えるか。
まあ同じだけど。

973 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:41:58 ]
理解出来ました。
有り難うございます

974 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:35:12 ]
>>972
>アドレス0を指してる、とも言えるか。
いえない。
因みに、初期化されていないポインタは
「何処を指しているかわからない」

975 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:35:58 ]
>>974
staticがついてると0に初期化される

976 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:36:57 ]
static だから = 0 で初期化されている。
ただ、アドレス 0 だとは限らない。

977 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:40:29 ]
もうヌルポインタが0じゃない話はいいから



978 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:57:16 ]
>>977
「ぬるぽはどこも指していない話」じゃないのか?

979 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:04:28 ]
NULLが0なんじゃない、0がNULLなんだよ。

980 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 15:01:18 ]
        ぬるぽ! ぬるぽ!
    ぬるぽ! ぬるぽ!  ぬるぽ!
  ぬるぽ!  ∩   ∩ ノ)   ぬるぽ!
 ぬるぽ!   川 ∩ 川彡'三つ  ぬるぽ!
ぬるぽ!  ⊂ミ∩、⊂ミ∩彡⊃    ぬるぽ!
ぬるぽ! ⊂三ミ( ゚∀゚)彡三彡三⊃ ぬるぽ!
ぬるぽ!  ⊂彡川⊂彡川ミ⊃    ぬるぽ!
ぬるぽ! ⊂彡川∪⊃ U川彡⊃   ぬるぽ!
 ぬるぽ!  (ノ ∪  川 ∪ミ)  ぬるぽ!
  ぬるぽ!       ∪     ぬるぽ!
    ぬるぽ!  ぬるぽ!  ぬるぽ!
       ぬるぽ!  ぬるぽ!
           ぬるぽ!

981 名前:デフォルトの名無しさん [2007/08/06(月) 21:47:18 ]
#define NULL ぬるぽ
#define 0 NULL

982 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:40:13 ]
fopenやifstreamがどういう処理をしているか気になります。
遠回しにAPIを呼んでたりするんですか?

983 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:47:34 ]
そりゃシステムコール呼ばないとファイル開けまへんがな(´・ω・`)
そこらのOS毎の差異を吸収するのも標準ライブラリの役目

984 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:48:24 ]
そう。 遠まわしに、WindowsならCreateFileとかのAPIを呼んでる。

985 名前:デフォルトの名無しさん [2007/08/06(月) 22:51:22 ]
まー結局、細部まで一致しないからWINDOWS API使うのが賢い
かなり単純なものでないとCのみでしょり出来ないからな

986 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:53:31 ]
×>>972,>>974
>>976

C言語の仕様によれば、staticな変数は『定数ゼロ』(K&R第2版)で初期化される。
だから
static char *theTxt;
は、
static char *theTxt = 0;
と置き換える。
ここで、定数ゼロは整数型に代入されれば整数0であり、ポインタに代入されればヌルポインタになる。
ヌルポインタは、(アドレス0を指す処理系もあるかもしれないが、)
『どこも指していないポインタ』が正解。実際のbit列がゼロの連続とも限らない。

従って、ヌルポインタはprintf()の引数として処理できない。

ちなみに、『ぬるぽ』はNullPointerExceptionの略で、ヌルポインタではない。

987 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:54:54 ]
BCCで書いているのですが、突然ファイルオープンができなくなりました。
#include<stdio.h>

main(void){
int i,j,k,t;
int No1,No2;
int Rs[3500][20],Hn[3500]={0};
double u,x,y;
double Odds[3500][20],Poll[3500][20],Poll_S[3500][20],Poll_T[3500][20];
FILE *fpr,*fpw;
fpr=fopen("horse.txt","r");
fpw=fopen("r.txt","w");
while(fscanf(fpr,"%d %d %lf %d",&No1,&No2,&u,&k)!=EOF){
Odds[No1][No2-1]=u;
Rs[No1][No2-1]=k;
Poll[No1][No2-1]=0.788/(u-1.0);
Hn[No1]++;
Poll_T[No1][No2]=0;
Poll_S[No1][No2]=0;
}
何か問題はありますか?教えてください。



988 名前:gotoです mailto:sage [2007/08/06(月) 22:55:51 ]
たまには私を思い出してください。
ほら、try-catch句がなかったあの頃を思い出してください・・・

989 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:58:45 ]
>>987
釣り?

990 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:02:37 ]
マジです

991 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:03:22 ]
>>987
とりあえずmainの'{'に対応する'}'と、fcloseが足りない。

992 名前:987 mailto:sage [2007/08/06(月) 23:07:22 ]
すみません。
ソースが長いので省略しています。
コンパイルエラーはないんですが
テキストファイルが読み込めないんです。


993 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:09:38 ]
>>993
実行方法は?
まさか、カレントディレクトリにファイルがないって落ちじゃないよな?

994 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:10:31 ]
horse.txtが無いんじゃね?

995 名前:デフォルトの名無しさん [2007/08/06(月) 23:11:32 ]
errno調べてみ

996 名前:987 mailto:sage [2007/08/06(月) 23:16:06 ]
horse.txtはあります。
今まで動いていたプログラムもファイルが開かなくなりました。
ライトファイルはできます。

997 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:18:07 ]
どっか別のアプリケーションがファイルを開いてるんじゃない?
アプリケーションを全部終了するか、最悪OS再起動したら直るんじゃないかね。



998 名前:987 mailto:sage [2007/08/06(月) 23:19:45 ]
と思って再起動したんですが直りませんでした。

999 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:22:17 ]
errno !!!

1000 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:49 ]
次スレ!!!
pc11.2ch.net/test/read.cgi/tech/1186410368/

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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