2011-11-10 9 views
3

私は次のコード行を使用してスペースを文字列に特定の文字を置換しようとしています:無効な変換

str[i] = " "; 

がどのようにエラーを取得せずにこれを実現することができます質問のタイトルに? C++、トークン「で

+0

あなたが言っていないので、私はC++と仮定します。 –

答えて

13

使用単一引用符

 
str[ i ] = ' '; 

」の2つの文字の配列を表す文字列リテラルである:ASCIIの文字セット(たとえば、値32内の空間の値)とゼロ。一方、トークン ''は、スペース(通常は32)の値を持つ単一の文字を表します。 Cでは、トークン ''は空白の値を持つ整数を表すことに注意してください。 (Cでは、はsizeof( '')==はsizeof(INT)、C++で、はsizeof(ながら '')== 1)

6

シングルcharリテラルは単一引用符を用いて得られる:

str[i] = ' '; 

二重引用符で囲まれたリテラルは、完全な文字列リテラル(ヌルで終わる配列char)ですが、単一のcharを置き換えるだけです。

関連する問題