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


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

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



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

84 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:38:12 ]
>>83
↓のページから好みに合ったものを選べ
ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%83%BB%E3%83%84%E3%83%BC%E3%83%AB%E3%82%AD%E3%83%83%E3%83%88

85 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:44:15 ]
普段は小物を作るのにVisual StudioのリソースエディタとATL/WTLをよく使っているけど、
C++はGUI作るツールに満足なものがないから、GUIに向いていない環境だと俺は思っている。
もっとましな状況になってほしい。

いろんなものが乱立していて決定打がないんだけど、
Windowsでは、Windows APIが最下層で、ほかがそのラッパーになっているので、
自然、Windows APIが共通語彙になっているという面はある。
だから、今何を使うにしても、いつかは素のWindows APIプログラミングに触れていてほしいなと思う。

86 名前:デフォルトの名無しさん [2008/02/21(木) 15:46:41 ]
整数を逆に並べて返す関数は以下でよいですか?
例)
12345→54321
12000→21

int reverseDigit(int input)
{
int a = input;
int tmp[12];
int i = 0;

while (a > 0) {
tmp[i] = a % 10;
a = a / 10;
i++;
}

int res = 0;
int n = 1;
for (int j = i - 1; j >= 0; j--) {
res = res + tmp[j] * n;
n = n * 10;
}
return res;
}


87 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:27:35 ]
>>84-85
なるほど、見た感じWinAPIに一番無難な印象を受けてしまいました
Windowsがこの先消えうせることはなさそうですしとりあえずWinAPI触ってみます、ありがとうございました

88 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:44:38 ]
>>86
試して問題ないならいいんじゃない?
負数で破綻するけど。
それと、一旦各桁に分割した結果を配列で保存するなら、
sprintf()で文字列にしてから逆順にして、atoi()で戻してもいいかも知れない。

89 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:48:39 ]
int a = input;に意味がないね
そのままinputを使えばいい
知っててわざとやってるなら別にいいが

90 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:57:34 ]
c言語でhttpサーバを作っててわからなくなったので質問させてください。

サーバからクライアントへsendを使ってメッセージを送信した際、
メッセージの送信完了を伝えるには、ソケットをclose(あるいはshutdown)
する以外に方法はないですか?
つまり、ソケットを閉じずに、コネクションを維持したまま、
送信完了を伝えたいのですが、できませんか?

91 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:57:59 ]
>>89
意味ある、というか引数いじらないのは鉄則だよ。
一時変数ケチってinputを加工するのは無駄なバグの元。

92 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:18:34 ]
>>90
HTTPであれば、レスポンスにContent-Lengthを入れれば、クライアント
がそのサイズの受信でデータ終了だと思ってくれる。





93 名前:90 mailto:sage [2008/02/21(木) 18:29:55 ]
>>92

なるほど、そういう方法なんですね。
助かりました。ありがとうございます。


94 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:25:25 ]
>>87
C#使った方がいいと思うってもう遅いけど

95 名前:デフォルトの名無しさん [2008/02/21(木) 21:40:29 ]
C++ならボーランドが最強
デルファイ言語の環境のまま、言語だけC++

96 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:41:13 ]
正直決定打といえるほどのものじゃない

97 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:41:44 ]
でもスタックにVCLのオブジェクト置けないんだよね

98 名前:デフォルトの名無しさん [2008/02/21(木) 21:45:50 ]
物理メモリの未使用量はどう調べられますか?

99 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:48:34 ]
>>98
環境を書けよ。でないと答えようが無い

100 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:50:15 ]
>>98
パソコンから取り外せば全容量使えるよ。

101 名前:デフォルトの名無しさん [2008/02/21(木) 21:50:59 ]
WindowsXPです

102 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:53:40 ]
じゃあタスクマネージャだな



103 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:54:02 ]
>>101
毒餃子を食わす国の人ですか?

104 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:54:36 ]
>>101
GlobalMemoryStatus で調べろ

105 名前:デフォルトの名無しさん [2008/02/21(木) 21:57:57 ]
サンクス

106 名前:デフォルトの名無しさん [2008/02/21(木) 22:27:36 ]
newやvectorで確保が失敗したかチェックするにはどうすればいいですか?

107 名前:デフォルトの名無しさん [2008/02/21(木) 22:31:16 ]
あとメモリが少なくて、確保に時間がかかる場合、途中で止めるか、かかる時間を予測できますか?

108 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:32:24 ]
VC9なのですが、SHA-256の定番なライブラリってないでしょうか?
JpegのIJGライブラリみたいなものがあると嬉しいのですが

109 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:32:32 ]
>>106
長い思考の旅の後には、失敗しないからチェックは不要という結論になるよ。


110 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:43:28 ]
>>106
bad_alloc 例外をつかまえる。


111 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:45:29 ]
bad_alloc例外が必ず捕まえられる保障はないそうだよ。

by Sutter

112 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:48:48 ]
set_new_handler



113 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:52:19 ]
>>106
たくさんのレスが付くと思う。
そして、>>109にたどり着くと思う。

114 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:56:42 ]
メモリ確保できなきゃ
大抵はそのまま異常終了するしかない事が多い。
ダウンするとマズいシステムの場合は
そうも言ってられないが。

115 名前:デフォルトの名無しさん [2008/02/21(木) 23:19:36 ]
ビルドのエラーについて質問です。
timeGetTime関数を呼ぶだけの関数を作成したのですが、
ビルドで以下のエラーになりました。
LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 "int __cdecl MainRoutine(void)" (?MainRoutine@@YAHXZ) で参照されました。

ソースは以下になります。
#include <windows.h>
#include <mmsystem.h>
int MainRoutine()
{
DWORD dwTime;
dwTime = timeGetTime();
return 0;
}

VC2008 Express Editionを使用しています。
他に何か設定が必要なのでしょうか?

116 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:20:20 ]
ライブラリのリンクが必要。

117 名前:デフォルトの名無しさん [2008/02/21(木) 23:29:07 ]
>115です。
すいません。記述漏れです。
以下の設定はすでにしていました。
「ツール」-「オプション」-「プロジェクトおよび〜」-
「VC++ディレクトリ」-「ライブラリリンク」にて、
C:\Program Files\Microsoft Platform SDK\Lib

ほかのライブラリのリンクが必要なのですか?
必要な場合、どこのライブラリをリンクすればいいでしょうか?

118 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:30:16 ]
それはライブラリを検索するディレクトリを指定しているだけで
リンクするライブラリを選択するオプションではない。
何をリンクすればいいかはググれ。

119 名前:デフォルトの名無しさん [2008/02/21(木) 23:38:58 ]
>115です。
今は、ライブラリのリンクが出来てなかったと言うことなんで、
リンクの方法、リンクするライブラリについては、また調べてみます。
回答ありがとうございました。

120 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:46:57 ]
ifやswitchってこんな風に書くのあり?

if(i==(1||2||3||4||5))

switch(i){
case (1||2||3||4||5):
   break;
}

121 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:48:33 ]
おかしくね

122 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:49:51 ]
>>120
C++ で operator をオーバーライドすれば可能かもしれませんね



123 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:54:50 ]
>>120
caseの中身は定数でよろしく

124 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:01:36 ]
>>120
switch(i){
case 1: case 2: case 3: case 4: case 5:
break;
}

125 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:02:21 ]
d caseの方は間違ってるのね
ifの方も駄目?

126 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:03:55 ]
>>124
ああ、caseでbreak書かなかったらそのまま下までいくからそういう風に書いたらいいのか

127 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:06:12 ]
C#では見事に禁止だな

128 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:07:40 ]
>>125
文法的に間違いではないが、お前の期待する動作はしないと思う

(1||2||3||4||5)は常に真となり、それとiの値が等しいかどうか
だよ?これ

129 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:08:18 ]
>>125
ifの方も意図しているであろう動作はしない。
ただしコンパイルは通る。警告くらい出してくれるかも知れんが・・・

130 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:11:14 ]
ありがとうございます。自分でもためしてみたけど無理だった
コンパイル通ってたから上手く動いてると思ってそのままつかってたよ…

131 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:19:40 ]
>>127
C#も124みたいにcaseラベルを並べるのはありだと聞いた。

132 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:22:16 ]
並べさせるくらいなら、コンマ区切りで書かせてくれてもいいのにね。



133 名前:デフォルトの名無しさん [2008/02/22(金) 00:27:11 ]
クラスの定義と代入を同時にやるにはどうやればいいですか?
int a=10; のようにです

134 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:28:19 ]
「代入」 は既に宣言されている変数に対して行う操作なので
同時に出来る訳が無い。
初期化なら別だが。

135 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:30:45 ]
operator を使おう

136 名前:デフォルトの名無しさん [2008/02/22(金) 00:30:52 ]
事故解決しました

137 名前:デフォルトの名無しさん [2008/02/22(金) 00:32:34 ]
これでできました

int main() {

class Test{
int x;
public:
Test (int y) {x=y;}
print(){ cout<<x<<endl; } };

Test a=10;
a.print();
return 0;
}

138 名前:デフォルトの名無しさん [2008/02/22(金) 00:35:31 ]
Test a=10;
a.print();
a=20;
a.print();

もできるんですね C++はすごいですね

139 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:37:27 ]
往々にして望まない機能だけどな。
基本的に引数1つのコンストラクタには explicit つけとけ。

140 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:42:12 ]
それよりも、構造体って感じの型でないクラスなのに
コピーコンストラクタとoperator =をコンパイラ任せにしているのが嫌だね。

141 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:43:15 ]
コンパイラ任せに出来る時は
コンパイラ任せでいいよ。

142 名前:デフォルトの名無しさん [2008/02/22(金) 00:48:46 ]
138じゃないですが、

>>139
なんでですか?
(本当に理由を知りたいです。)




143 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:59:34 ]
#include <iostream>
#include <vector>

class Vector {
public:
 Vector(size_t size) : m_array(size) { }
 void output() const {
  for(std::vector<int>::const_iterator it = m_array.begin();
     it != m_array.end(); ++it)
  {
   std::cout << *it << ' ';
  }
  std::cout << std::endl;
 }
private:
 std::vector<int> m_array;
};

void Foo(const Vector& v) {
 v.output();
}

int main() {
 Foo(5);   ←←←←←←←
}

これが直感的な挙動ではないことは分かってもらえると思う。
でも、コンパイル通るし、正常に動く。

explicit つけるとこういう時にコンパイルエラーにできる。
それでも Foo(Vector(5)); なら可だが、これは問題ないと感じてくれると思う。

144 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:59:53 ]
>>91
どんなバグがでるのですか?
呼び出し側なにか影響でうるのですか?

145 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:01:23 ]
input を変更した後に、
input が変更されていない事を前提とした処理を書いてしまうかもしれない。
あるいは、そういう処理があるにも関わらず、
それより前の地点で input を変更してしまうかもしれない。

そうなっていないか注意して探すよりは、
引数をいじらない方が良い。

146 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:08:46 ]
みんな仮引数にconstって使わないんだよね。

147 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:09:55 ]
一時期付けてみたけど、
あんま意味ないと思ってやめた。

148 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:12:29 ]
>>145
なるほど
別にいじること自体がやばいわけじゃなくて

いじると間違い起こす原因となる可能性があるわけですね
ありがとうございました

149 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:14:13 ]
だって関数の定義では付けてもいいけど、宣言では付けたくないので、
コピペじゃ済まなくなる。

150 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:14:45 ]
>>131
fall throughは禁止じゃなかったっけ
何かキーワードがあったと思う
情報が古いかもしれんが

151 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:19:06 ]
>>150
caseが連続する場合のみOK。その他は禁止。スレ違い。

152 名前:デフォルトの名無しさん [2008/02/22(金) 01:19:25 ]
>>143
ありがとうございます。
explicitは、暗黙の変換を抑制する機能なのですね。
しかしなんか上の例のコードは、すごくC++書き慣れた人な感じがしました。




153 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:20:21 ]
>>150
>>124のように空のcaseラベルを並べたときはフォールスルーできる。
msdn2.microsoft.com/ja-jp/library/06tc147t.aspx
スレ違いすまん。

154 名前:133 [2008/02/22(金) 02:00:16 ]
関数の引数にクラスを使いたいのですが、クラスの宣言と代入を同時にするにはどうやればいいですか
intのようにコンストラクタではできませんでした

test y = f( x );
のようにです fはクラスを返します intではないです

155 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:11:42 ]
>>154
testというのがクラスなら、testにconst test&型の引数を1つ取るコピーコンストラクタを作るんだ。

156 名前:デフォルトの名無しさん [2008/02/22(金) 02:14:25 ]
サンクス

157 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:02:49 ]
>>154
何度も言うが、それは代入じゃない。
初期化だ。
初期化の場合、= を使っていても
test y = f(x); は test y(f(x)); と同義。

158 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:24:55 ]
まったくのプログラム初心者です。
はじめににインストールする言語?をどれにするかがわかりません。
どういう意味かというと

ボーランド、とかマイクロソフトのvisual studioとかどれにすればいいのかです。
有料とか無料とかいろいろありますね。
できたら将来有料ソフトを販売可能なものがいいです。

今考えているのはマイクロソフトのVC++を考えているのですが、
C++とVC++は違うとか
どっかで聞いたりもしたので
初心者にはちんぷんかんぷんでわかりません。

よろしくお願いします

159 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:30:50 ]
C++ は言語名。
VC++ は C++ を使って開発を行うためのツールの名前。

160 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 08:05:40 ]
>>159
ありがとうございます。

161 名前:デフォルトの名無しさん [2008/02/22(金) 11:08:37 ]
VC++ はMSがWindows用ソフトを開発するために拡張した言語ともいえる
VC++のコードはほかのものでは動かせないものが多い

162 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 11:42:07 ]
www.xlsoft.com/jp/products/jet/index.html
このソフトを使えばJavaでもネイティブアプリケーションが作れると書いてあるのですが、そんなうまい話があるんですか?
もし本当ならJavaのパフォーマンス面での不利がだいぶ改善されると思うのですが



163 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 11:45:45 ]
ここはC/C++スレですが

164 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 11:57:29 ]
システム構築売るならまだしもソフト売るのにJavaはないだろ。
VCにしとけ。

165 名前:デフォルトの名無しさん [2008/02/22(金) 11:59:00 ]
perl2exeみたいなやつでは? 実行環境を圧縮してexeに詰め込む
利点としてはランタイムとかの導入がいらないだけで

166 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:21:11 ]
スレ違い。ここでやれ
gcjって使ってる人います?
ttp://pc11.2ch.net/test/read.cgi/tech/1046627795/l50

167 名前:デフォルトの名無しさん [2008/02/22(金) 12:31:13 ]
この直し方教えてください!

IEBrowser->Document.charset="shift_jis";

error C2039: 'charset' : '_com_ptr_t<class _com_IIID<struct IDispatch,&struct __s_GUID _GUID_****> >' のメンバではありません。

168 名前:167 [2008/02/22(金) 12:35:30 ]
文字コードの変換をしたいのですが・・・
この様に定義してあります

SHDocVw::IWebBrowser2Ptr IEBrowser;
IEBrowser.CreateInstance( __uuidof( SHDocVw::InternetExplorer ) );

169 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:51:05 ]
>>167
こうでは?
IEBrowser->Document->charset= L"shift_jis";

170 名前:167 [2008/02/22(金) 12:55:40 ]
>>169

error C2039: 'charset' : 'IDispatch' のメンバではありません。

になりました・・・

171 名前:167 [2008/02/22(金) 13:05:44 ]
文字コードの変更方法わかったら教えてもらいたいですけど
そこだけVBAスクリプトを呼び出す事にします

172 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:08:27 ]
>>170
じゃあこれはどう?
SHDocVw::IHTMLDocument2Ptr document = IEBrowser->Document;
docment->charset = L"shift_jis";




173 名前:167 [2008/02/22(金) 13:13:13 ]
だめでした

174 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:23:38 ]
QueryInterface

175 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:33:26 ]
適当に書いたらやっぱダメだったか、すまん。
#import <mshtml.tlb>した上で、MSHTML::IHTMLDocument2Ptrだ。

176 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:34:40 ]
>>174
ナントカPtr(の実態_com_ptr_t<>)のコンストラクタや代入演算子の中でQueryIntefaceが行われている。

177 名前:デフォルトの名無しさん [2008/02/22(金) 14:08:38 ]
πの値は、自分で3.1415926535...とかって書くしかないでしょうか。
numeric_limits<int>::max()とか、そういう書き方はないですか?


178 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:13:43 ]
#ifndef M_PI
# define M_PI 3.1415926535
#endif

179 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:30:07 ]
math.hをインクルードしたらM_PIとしてdefineされてる。
計算して出したいなら4*atan(1.0);

180 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:32:27 ]
標準ではないのが玉に瑕。

181 名前:デフォルトの名無しさん [2008/02/22(金) 15:02:49 ]
>>178-180
ありがとうございます。
#include <cmath>
としてたのですが、M_PIでコンパイル通りました。


182 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:58:04 ]
C初心者です。
実数→整数変換ですが、

double dval;
char buf[80];
int ival;

dval = -19.99; /* -19.99〜19.99 */
dval = dval * 100.0;

sprintf(buf,"%.0f",dval);
ival = atoi(buf);

printf( "%f %d %d\n",dval,ival,(int)dval);
/* printf( "%f %d %d\n",dval,ival,(int)ceil(dval)); */


ivalを求める場合、上記の方法が一番精度が良いのですが
これ以外に方法はありますでしょうか?
ceil() や floor() 使っても誤差が出てしまいます。




183 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 16:05:51 ]
>sprintf(buf,"%.0f",dval);
それ四捨五入してるだけだぞ
そんなんでいいなら ival = floor(dval * 100 + 0.5) とでもやればいい

元々 -19.99 という値自体が誤差を持ってるから、これを無くすことは出来ない
printf("%.20f\n", -19.99); とかやってみればわかる

本当に誤差が嫌なら、浮動小数点を使わない、という方法しかない

184 名前:182 mailto:sage [2008/02/22(金) 16:12:26 ]
>>183

早速のRESありがとう御座います。

>そんなんでいいなら ival = floor(dval * 100 + 0.5) とでもやればいい

了解です。これで行きたいと思います。
 どうもありがとう御座いました。






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

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

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