如何連接字符串與C/C++?C/C++中的連接字符串
我嘗試以下方法:
PS:errorInfo中是一個char *我應該回到它。
errorInfo = strcat("Workflow: ", strcat(
workflowToString(workflow).utf8(), strcat(" ERROR: ",
errorCode.utf8)));
sprintf(errorInfo, "Workflow %s ERROR: %s",
workflowToString(workflow).utf8(), errorCode.utf8());
errorInfo = "Workflow: " + workflowToString(workflow).utf8() + " ERROR: " + errorCode.utf8;
只是sprintf編譯,但運行我的應用程序崩潰。
PS:我使用NDK於Android
所有的點使它看起來像你使用'C++'(沒有'C/C++')。我認爲使用'std :: string'是你最好的選擇:不要使用'char *'! – pmg 2011-03-18 15:30:32
你是什麼意思,「errorInfo是一個char *我應該返回它」? 'char *'是一個指針,可以或不可以被初始化,如果指向某個可能是或者不可能是字符串的內存,可能有或沒有足夠的空間存儲你正在創建的字符串,並且有一個生命週期可能會或可能不符合您的呼叫者的期望。如果你對C或C++中的內存分配一無所知,那麼你很急於閱讀一本關於其中一個或兩個的書。至少有5或6種編寫C++函數的方法將所有這些東西結合在一起並返回,並且你和調用者需要同意。 – 2011-03-18 15:46:19
http://www.crasseux.com/books/ctutorial/Memory-allocation.html給出了關於C內存分配的教程。如果你以前從來沒有涉足過C,不用擔心。內存的東西可能會很棘手。只要繼續練習:) – Davidann 2011-03-18 15:50:37