文字列の一部を別の文字列にコピーする際に問題があります。これら二つのcharのポインタを考える:私はstrncpyを中にセグメンテーションフォールトを取得文字列の一部を別の文字列にコピーする
char* findUsername(char* line, char* username){
char* ptr = strstr(line, ":");
ptrdiff_t index = ptr - line;
strncpy(username, line, index);
return username;
}
:
line points at string cointaining: "helmutDownforce:1234:44:yes"
username points at: NULL
は、ここで入力としてこれらのポインタを取る私の機能です。どうして?私が望む結果は、helmutDownforceを含む文字列へのポインタを返す関数です。
'NULL'ポインタを' strncpy() 'に渡していますか? – EOF
デバッグヘルプ(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 – Olaf
'findUsername()'に呼び出しコードをポストします。 – chux