在这里学习一些C语法,我遇到了一些令人困惑的事情。
我正在尝试实现两个功能:

1)char* extractCharacters(char** input)
从main中获取argv [1]并提取前两个字符(它们可以是任何可读的ascii字符),并从中提取一个字符串。返回该字符串。

2)char* concatenate(char* string1, char* string2)
接受从上面的函数1返回的字符串,并将其与main提供的第二个输入字符串连接起来。

对于这个,我有:

char* concatenate(char* string1, char* string2)
{
char* concatenated = malloc(strlen(string1)+strlen(string2)+1);
strcpy(concatenated, string1);
strcat(concatenated, string2}
return concatenated
}


关于函数1,我理解argv是一个指针的指针,我只是在运行时实际上并没有真正了解如何将其转换为字符串。抱歉,这个问题有点笨拙。

谢谢!

最佳答案

请尝试以下解决方案:

char* concatenate(char* string1, char* string2)
{
    char* concatenated = (char*)malloc(strlen(string1)+strlen(string2)+1);
    sprintf(concatenated, "%s%s", string1, string2);
    return concatenated;
}

int main(char* argv[], int argc )
{
   char string1[100];
   char* string2 = "stice";
   strncpy(string1, argv[1], 2);
   char* string3 = concatenate( string1, string2);

}

关于c - 在运行时从argv [1]的字符中提取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24333726/

10-10 00:56
查看更多