2017-05-10 117 views
-6

我在VB中編程時沒有任何問題,但我很難得到C++的掛鉤。將字符串^轉換爲Int

我有變量...

newData = gcnew String(nonSharedRXBuffer, 0, newBytesReceived); 
myString = newData; 
String^ tempString; 
unsigned int Value; 

和部分代碼....

tempString = newData->Remove(1,(newData->Length)-1); 
Value = tempString; **//need to convert the String^ to Int** 
newData = newData->Remove(0, 1); 
tempString = newData->Remove(1,(newData->Length)-1); 
Value = tempString; **//need to convert the String^ to Int** 
newData = newData->Remove(0, 1); 

如何轉換tempString(這是一個String^)到Int

回答

-1

標準'學習語言'警告:這不是您正在編寫的C++,而是C++/CLI。 C++/CLI是Microsoft的一種語言,旨在允許C#或其他.Net語言與非託管C++進行交互。在這種情況下,C++/CLI可以提供兩者之間的轉換。如果你仍然在學習C++,請使用C++/CLI開始而不是。爲了在C++/CLI中有效地編寫代碼,應該已經知道C++和C#,然後仍然需要了解有關C++/CLI的知識。如果你想學習C++,堅持使用非託管C++。 (在Visual Studio中,創建一個「Win32」C++項目。)如果您想學習託管代碼,那麼我會使用C#。


這就是說:Int32::TryParse是如何從.NET String^轉換爲整數。

String^ tempString = ...; 
int value; 

bool converted = Int32:::TryParse(tempString, value); 
if (!converted) 
{ 
    // tempString did not contain a valid integer. Handle the error. 
}