私は簡単なCプログラムを書いています
char *path;
"/"
パスが最後に続いているかどうかを確認したいのですstrcmp
が、関数を試しましたが、セグメンテーション違反が発生しました。
if (strcmp(path[strlen(path)-1], "/") == 0)
"/"
文字列が最後にあるかどうかを確認するにはどうすればよいですか
ありがとう。
私は簡単なCプログラムを書いています
char *path;
"/"
パスが最後に続いているかどうかを確認したいのですstrcmp
が、関数を試しましたが、セグメンテーション違反が発生しました。
if (strcmp(path[strlen(path)-1], "/") == 0)
"/"
文字列が最後にあるかどうかを確認するにはどうすればよいですか
ありがとう。
c の文字列は文字の配列であるため、 \0 の前の最後の文字を確認するだけで済みます
strcmp の代わりに、次のようなものを使用します
const int len = strlen(path);
if ( len > 0 && path[len-1] == '/' )
{
}
を使用path[strlen(path-1)]
すると、単一の char が に渡されますがstrcmp
、これは許可されていませんstrcmp
。
代わりに、直接比較してください。
if (path[strlen(path)-1] == '/') { ... }