如何添加两个字符串

时间:2017-05-24 17:46:49

标签: c syntax-error

我有一个文件cr.c

void main(int argCount, char **args) {
    system("/usr/bin/javac " + args[1]);
}

当我尝试编译时,它给了我一个错误:

cr.c: In function ‘main’: cr.c:6:30: error: invalid operands to binary + (have ‘char *’ and ‘char *’)      system("/usr/bin/javac " + args[1]);                               ^

我试图通过将+替换为.来修复它,因为我是在PHP中连接字符串的一种方法。这只是猜测。

我不知道为什么会这样。请解释为什么会这样,以及如何解决。我不想让别人去判断我要输入什么,因为我想学习。

谢谢!

4 个答案:

答案 0 :(得分:3)

您可能习惯于使用+符号连接字符串的高级语言。

在C中,您必须使用strcat

char buffer[100] = "Hello";
strcat(buffer, " World");

答案 1 :(得分:1)

+运算符不会连接字符串。您可以调用strcat将两个字符串连接在一起。

答案 2 :(得分:0)

连接两个字符串:

char *buffer = malloc( strlen( stringOne ) + strlen( stringTwo ) + 1 );
if( !buffer )
{ // then malloc failed
    perror( "malloc failed" );
    exit( EXIT_FAILURE );
}

// implied else, malloc successful

strcpy( buffer, stringOne );
strcat( buffer, stringTwo );

答案 3 :(得分:0)

感谢您的提问。 C是一种结构化语言,在这里你不能使用“。”(成员运算符)或+(添加运算符),就像c#java Cpp php或javascript一样。 您只需使用字符串头文件和预定义函数即可。