配列にある特定の文字を削除するには?

[戻る]
ひよこまんじゅう [E-Mail] 2001/08/20(月) 18:00:23
配列に入っている特定の文字を一字だけ削除するにはどんな文になるのでしょうか? 
たとえば、"123456789"とある文字列の"5"だけ削除するとか。。。

Bun 2001/08/20(月) 18:16:54
2箇所にある場合はどうするのでしょうか?

CString::Remove() あたりは使えませんか?

ひよこまんじゅう 2001/08/20(月) 18:48:42
2箇所の場合というのは…?
今試しているのは、
while文で文字列に"5"が出るまでループさせ、"5"が出た場合は、dmyに格納、
それ以外はjという変数に入れようかと…
これだとだめなんですかねぇ?

while(k[i]=! NULL){
 if(k[i] == '5'){
  strncat(dmy,k[i]);
 else
  strncat(j,k[i]);
 }
i++;
}

Bun 2001/08/20(月) 19:17:41
> 2箇所の場合というのは…?

CString str = "12345678950";
str.Remove('5');

とすれば str = "123467890"となります。(2箇所の文字'5'が削除されます)

> これだとだめなんですかねぇ?

あちこち、誤りがあります。
strncatの第2引数には文字列(定数)をいれないといけません。
第3引数には追加する文字数が必要ですね。

古いスレッドには追加発言できません。