请教各位一个对于你们很基础的问题 谢谢

C、C++和Java语言
回复
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
送出感谢: 0
接收感谢: 0
联系:

请教各位一个对于你们很基础的问题 谢谢

#1

帖子 mmxcq » 2010-05-13 14:23

#include<string>
#include <stdio.h>
using namespace std;
int main(void)
{ int i=9;
string st="echo "+i+">>/home/mmxcq/test.txt"; st.c_str();
return 0;
}

mmxcq@ubuntu:~/下载$ g++ -o test test.cpp
test.cpp: In function ‘int main()’:
test.cpp:6: error: invalid operands of types ‘const char*’ and ‘const char [23]’ to binary ‘operator+’
mmxcq@ubuntu:~/下载$

报错如下 请教各位一个对于你们很基础的问题 就是我怎么让一个字符串和一个整数相加构成一个字符串 谢谢
我要去租车搜索www.517car.com
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵
送出感谢: 1 次
接收感谢: 6 次

Re: 请教各位一个对于你们很基础的问题 谢谢

#2

帖子 wangdu2002 » 2010-05-13 17:54

c和c加加的标准库里都有两个函数,一个把数值转为字符串,一个把数字字符串转为数值。。。楼主需要找几本编程基础的书好好瞧瞧。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
Hello World!
帖子: 3051
注册时间: 2008-06-23 15:19
系统: ���������
来自: 北欧某国
送出感谢: 14 次
接收感谢: 2 次
联系:

Re: 请教各位一个对于你们很基础的问题 谢谢

#3

帖子 Hello World! » 2010-05-13 18:27

我猜,是不是需要将 “ " " ” 格式的字符串转换为string格式的对象才能操作?VC 里面好象是这样的。
http://noie.name 网站改版中。
tiny_tiny
帖子: 15
注册时间: 2010-05-07 9:00
送出感谢: 0
接收感谢: 0

Re: 请教各位一个对于你们很基础的问题 谢谢

#4

帖子 tiny_tiny » 2010-05-14 5:55

mmxcq 写了:#include<string>
#include <stdio.h>
using namespace std;
int main(void)
{ int i=9;
string st="echo "+i+">>/home/mmxcq/test.txt";

//问题出在这句, 既然你是用的c++,那么字符串和一个整数相加,成为一个新的字符串,这是一点问题都没有的,
//这里的 string st = "echo" + i , 或者 string st = i + ">>/home/mmxcq/test.txt" ,单独拿出来,都没有问题,
// 问题就出在, “echo” + i , 这个语句,他的返回值,是一个const char*, 可以直接赋值给一个string, 而
// ">>/home/mmxcq/test.txt" 在这里却是一个const char [23] 类型, 这两个类型是不能直接相加的,所以会报错。
//所以,有几种方法你可以修改你的代码,

比如 1,string st = "echo" + i;
st = st + ">>/home/mmxcq/test.txt";

2, string st = "echo "+i+string(">>/home/mmxcq/test.txt");
3, string st=string("echo "+i)+">>/home/mmxcq/test.txt";

如果你看明白了,应该还能知道第4,5,6。。。种修改的方法。

st.c_str();
return 0;
}

mmxcq@ubuntu:~/下载$ g++ -o test test.cpp
test.cpp: In function ‘int main()’:
test.cpp:6: error: invalid operands of types ‘const char*’ and ‘const char [23]’ to binary ‘operator+’
mmxcq@ubuntu:~/下载$

报错如下 请教各位一个对于你们很基础的问题 就是我怎么让一个字符串和一个整数相加构成一个字符串 谢谢
回复

回到 “C/C++/Java”