であるグローバル変数があり*char
ます。私のメイン関数ヘッダーはint main(int argc, char* argv[argc]){...}
. この 2 行のコードはそのままにしておく必要があります。メイン関数の最初の引数は、*char
を使用して char に変換するtype の数ですatoi(...);
。私は基本的にASCII値を対応する文字に変更しています。今、私が持っているこのローカル変数の文字を、char ポインターであるグローバル変数に格納したいと思います。問題がメモリの割り当てに関連していることはわかっていますが、これについてどうすればよいかわかりません。
私のコード:
char* delim;
int main(int argc, char* argv[argc])
{
char delimCharacter;
if (isdigit(*(argv[3])) == 0) delim = argv[3]; //you can pass in a character or its ascii value
else { //if the argument is a number, then the ascii value is taken
delimCharacter = atoi((argv[3]));
printf("%s\t,%c,\n", argv[3], delimCharacter);
//sprintf( delim, "%c", delimCharacter ); // a failed attempt to do this
*delim = delimCharacter;
//strncpy(delim, delimCharacter, 1); // another failed attempt to do this
}
//printf("%s\n",delim);
これにより、セグ フォールトが発生します。