質問編集履歴
1
C++の場合についての一文を追加、及びタイトルの編集
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
末尾の改行を削除するCのコード
|
1
|
+
末尾の改行を削除するC/C++のコード
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
C言語で、入力された文字列の末尾にある改行を削除する関数removeEOLを以下のように実装しました。
|
2
2
|
しかし、これを実行すると、Segmentation faultが起きてしまいます。
|
3
3
|
main文の`char* str = "abc\n";`を`char str[10] = "abc\n"`などに変更した場合はSegmentation faultは起きず、正常に実行できます。
|
4
|
+
C++においても同様の問題が起きることを確認しています。
|
4
5
|
|
5
6
|
どうやら17行目の`str[endIndex] = 0x00`でSegmentation faultが起きているようですが、ではなぜ16行目の`if(str[endIndex] == 0x0a)`ではSegmentation faultが起きないのでしょうか。
|
6
7
|
原因が全く分かりません。
|