作者honyihon (lantis)
看板C_and_CPP
標題[問題] InttoString 問題
時間Mon Oct 6 15:22:03 2014
開發平台(Platform): Linux ubuntu
問題(Question):
code:
-----------------
char i_str[256],j_str[256];
sprintf(i_str,"%d",i);
sprintf(j_str,"%d",j);
str+='('+i_str+','+j_str+','+combine[i]+','+combine[j]+')'+',';
cout<<str<<endl;
--------------------
簡單的int to string
Error Code:|332|error: invalid operands of types ‘char*’ and
‘char [256]’ to binary ‘operator+’|
關鍵應該是在i_str和j_str
i , j ,型態皆為int
combine[i],combine[j] 為vector<string>
預期的正確結果(Expected Output):
(1,2,source,target),
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.22.21.92
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1412580127.A.43E.html
→ serikafan: 那個錯誤訊息說的是你不能用字元去+ 指標(char*) 10/06 16:59
推 serikafan: 指標 + 字元陣列 10/06 17:54
→ serikafan: 不過錯誤是在更前面的地方,用 '('+i_str 就有問題了 10/06 17:59
→ Killercat: 拼接這種東西用stringstream會比一堆+效能好且好看 10/06 20:03
→ Caesar08: 你可以使用strcat把char*串起來,就可以達到你要的效果 10/06 21:11
→ Caesar08: 然後要不就都使用string配合stringstream 10/06 21:14
→ Caesar08: 要不就使用char*配合sprintf,不要混著使用 10/06 21:15