【初心者歓迎】C/C++室 Ver.60【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.60【環境依存OK】 - 暇つぶし2ch1:デフォルトの名無しさん
08/10/15 17:06:26
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.59【環境依存OK】
スレリンク(tech板)

【アップローダー】(質問が長い時はココ使うと便利)
URLリンク(kansai2channeler.hp.infoseek.co.jp)

◆ソースのインデントについて
半角やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのが最も良いですが、
直接貼るのであれば、全角空白か に置換しておくことをお勧めします。

2:デフォルトの名無しさん
08/10/15 17:07:20
前スレが1000行ってたんで立てました。


3:デフォルトの名無しさん
08/10/15 17:09:03
いちょつ

4:デフォルトの名無しさん
08/10/15 17:12:51
環境:VisualStudio2008

class x
{
public:
methodA();
methodB();
private:
int x;
int y;
}

みたいなクラスがあって

methodA()
{
// 初期化
x = ...
y = ...
}

methodB()
{
// x、yを使って作業をする
}

といった感じで処理をしているのですが、変数xとyが
methodBに入った瞬間に壊れてしまいます。
一瞬、メモリの越境破壊かな? と思ってデバッガの変数ウォッチで追いかけてみたのですが
デバッガで見る分には確実にmethodBに入る瞬間に壊れています。
値が16進の 0x303030 固定なので人為的なものを感じるのですが、
何か原因の可能性として思いつくようなものはありますでしょうか?

5:デフォルトの名無しさん
08/10/15 17:14:41
あ、例示のクラス名と変数名が一緒なのは単なるミスです。

6:デフォルトの名無しさん
08/10/15 17:18:59
C言語をゲーム感覚で学べるソフトとかありませんか?
例えばlispで言うnsclisperみたいな物があればいいです。

7:デフォルトの名無しさん
08/10/15 17:27:41
独自のアロケータを使ったstring型を作れたのですが、出力方法がわかりません。
キャスト無しでもキャストしてもエラー出ます。 coutの拡張は難しいです。
なんとかなりますか?


typedef basic_string<char, char_traits<char>, userallocator <char> > u_string;

int main() {
u_string a="abcdef";
// cout<<(char*)a;
}

8:デフォルトの名無しさん
08/10/15 17:33:12
自己解決しました

u_string a="abcdef";
cout<<&a[0];

でもデータが連続していて最後が0になってないと駄目なんですが。
不連続でも可能な方法ありますか

9:デフォルトの名無しさん
08/10/15 17:36:23
a.c_str(); が使用可能でした。STLは便利ですね。
これならデータが不連続でも良さそうなんですけど
もしデータが100Mとか貯まっていたらメモリにコピーを用意するのに
それだけ悔いますよね。直接ファイルに書き出したい場合に方法無いですか?

10:デフォルトの名無しさん
08/10/15 17:38:00
substrで少しずつ書き出すことにします

11:4
08/10/15 17:50:07
すいません、自己解決しました。
自分で文字バッファを'0'でクリアしてたのが越境してました

12:デフォルトの名無しさん
08/10/15 17:55:59
>>11
> 確実にmethodBに入る瞬間に壊れています
これが違ってたこと?
思いこみって怖いねXD


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch