我有一个全局变量,即*char
。我的主要功能标题为int main(int argc, char* argv[argc]){...}
。这两行代码必须保持原样。我的主要功能的第一个参数是一些*char
类型,我转换为字符使用atoi(...);
。我基本上将ASCII值更改为相应的字符。现在我想将这个局部变量字符存储到全局变量中,该变量是一个字符指针。我知道这个问题与内存分配有关,但我不知道如何去解决这个问题。在字符指针中存储字符
我的代码:
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);
这产生了赛格故障。
为什么不是:int main(int argc,char ** argv) – karlphillip 2010-07-30 16:08:41