在这里学习一些 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是指针的指针,我只是不知道如何在运行时从它转到字符串。抱歉,如果这个问题有点幼稚。
谢谢!
最佳答案
argv
指向字符指针数组。每个字符指针都指向一个c字符串。
char* third_string = argv[2] ;
char second_char_of_third_string = argv[2][1] ;
extractCharacters()
应该采用字符指针,就像 concatenate()
一样。
关于c - 在运行时从 argv[1] 中的字符生成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333726/