- 締切済み
配列オーバーフロー?
文字列を(順番を変えて)コピーして表示させるプログラムを 作っていますが、うまく表示されずに困っています。 具体的にお話しますと・・・ 「abc・・・xyz」→「zyx・・・cba」等としたり、色々 文字列の順序を変えた内容を表示するのでこの部分は問題ないと思ってます。 こうしたプログラムで文字列のchar配列を200程度にして、 1行あたり50文字程度で数行程度ならちゃんと表示されるのですが これを数十行で行うと部分的に化けるところが出てきます。 わかる人にアドバイスを貰ったところ配列オーバーフローではないか? と言われましたがそれ以上の情報は得られず、 何が問題なのがよくわからず困っております。 ・文字列は一文字ずつ配列を用いている ・文字のコピーはstrcpyを用いている →for(i=0,j=0;i<MAX;i++) strcpy(&moji[i],&mojimoji[i]); ・strncpyを用いると「フ」というのが交じってくるので使っていない ・初期化はこんな感じで行っている →for(i=0;i<MAX;i++) strcpy(&moji[i],"\0"); 何よりよくわからないのが、同じような内容の行でも 化ける行と化けない行があり、化けるというのはその行にない文字が 入ってきてしまうというものです。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- yaemon_2006
- ベストアンサー率22% (50/220)
回答No.10
- asuncion
- ベストアンサー率33% (2127/6290)
回答No.9
- yaemon_2006
- ベストアンサー率22% (50/220)
回答No.8
- D-Matsu
- ベストアンサー率45% (1080/2394)
回答No.7
- D-Matsu
- ベストアンサー率45% (1080/2394)
回答No.6
- D-Matsu
- ベストアンサー率45% (1080/2394)
回答No.5
noname#198419
回答No.4
- arain
- ベストアンサー率27% (292/1049)
回答No.3
- arain
- ベストアンサー率27% (292/1049)
回答No.2
- tatsu99
- ベストアンサー率52% (391/751)
回答No.1
お礼
すいません スマートなコードにすることでバグが減るというのはわかりますが 根本的な解決には至っておりません