配列オーバーフロー?
文字列を(順番を変えて)コピーして表示させるプログラムを
作っていますが、うまく表示されずに困っています。
具体的にお話しますと・・・
「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");
何よりよくわからないのが、同じような内容の行でも
化ける行と化けない行があり、化けるというのはその行にない文字が
入ってきてしまうというものです。
お礼
こたえていただきありがとうございました