フィルタリングする共有オブジェクトを作成していますchar * buff_inから受け取った英数字をchar * buff_outにコピーします。現在、私のコードは私がやりたいことをしていますが、数字の間に^ @を作成しています。
int tratar(char* buff_in, char* buff_out){
int i = 0;
while(buff_in[i]){
if(!isalpha(buff_in[i])){
buff_out[i] = buff_in[i];
}
i++;
}
printf("%s", buff_out);
}
プログラムを実行するとすべてが正常に見えますが、エディターで返された値を見ると、次のように表示されます:^ @ ^ @ ^ @ ^ @ ^ @ 1 ^ @ ^ @ ^^ @ ^ @ 10 ^ @ ^ @ ^ @ 50 ^ @ ^ @ ^ @。 1 10 50のみである必要がある場合。
ありがとうございました
回答:
回答№1は2buff_outには別のインデックスが必要です。
int i = 0, j = 0;
...
buff_out[j++] = buff_in[i];
また、printf()の前にbuff_outをnullで終了します。
buff_out[j] = " ";