printf 関数を使用して、関数に渡されたポインターから文字列を出力しようとしています。
printf("%s\n", strng[1]);
strng は呼び出し元から渡されます。前にスペースがある文字列で、その空白を削除したいです。したがって、私は以下のコードを持っています。
for(i=0; i<slength -1; i++) {
printf("%s\n", strng[1]);
tstr[i] = strng[i+1];
printf("%s\n", tstr);
}
tstr[slength] = 0;
アクセス違反エラーが発生し続け、その理由がわかりません。printf 行を取り出すと、コードを実行できますが、戻り文字列 tstr の末尾には常に余分な文字が含まれています。出力は次のようになります。
bp185080
9
bªM
bpM
bp1
bp18─
bp185
bp1850K
bp18508
bp185080=::=::\
bp185080=
空白を取り除き、余分な文字を持たないようにするにはどうすればよいですか?