タイトル通り、C#で文字列の前後にあるスペースとタブを削除するソースを作成しています。
windows0でVisual Studio2017を使用しています。
作成中、以下のエラーを吐いてしまっていて原因が分からないのですが、力をお貸しください。
エラーの箇所は、
str[i + 1] = '\0'; の str[i + 1]
for (j = 0; j <= len - i; c = str[i + j], str[j++] = c) の str[j++]
です。
※teratailを利用するのは今回が初めてになりますので、至らぬ点がありましたら申し訳ありません。
発生している問題・エラーメッセージ
エラーメッセージ プロパティまたはインデクサー'string.this[int]'は読み取り専用であるため、割り当てることはできません。
C#
1 public int pctab_suppress(ref string str, int direc) 2 { 3 int i; 4 int j; 5 int len; 6 char c; 7 8 len = str.Length; 9 if (len == 0) 10 { 11 return (0); 12 } 13 if (direc != 0) 14 { 15 for (i = len - 1; i >= 0 && (str[i] == ' ' || str[i] == '\t'); i--) 16 { 17 ; 18 } 19 if (i != len - 1) 20 { 21 str[i + 1] = '\0'; 22 } 23 } 24 else 25 { 26 for (i = 0; i < len && (str[i] == ' ' || str[i] == '\t'); i++) 27 { 28 ; 29 } 30 if (i != 0) 31 { 32 for (j = 0; j <= len - i; c = str[i + j], str[j++] = c) 33 { 34 ; 35 } 36 } 37 } 38 return (0); 39 }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/14 09:26
2018/11/14 09:31