私は唯一の引数としてchar *をとる関数を持っています。次に、strtok操作を実行します。時にはそれは動作し、時にはそれはdoesentです。それは文字列がどのように構築されたかに依存します。例えば、ここには2つのケースがあります。文字列の割り当ての違いは?
int main()
{
char glob[] = "/abc/def/ghi";
char *glob2 = "/abc/def/ghi";
func(glob); //this one works
func(glob2); //this one doesnt work
return 0;
}
2つの割り当て方法の違いは何ですか。また、2番目の割り当て方法でstrtokが吹き飛ぶのはなぜですか?
char []とchar *の違いについてlitbの優れた記事を読む - http://stackoverflow.com/questions/308279/c-strings-vs/308724#308724 – Falaina
文字定数をchar *に代入する代わりにconst char *の)は、歴史的な理由からのみ正当です。これは廃止予定と見なされ、一部のコンパイラが警告を出すでしょう。 –