2013-10-24 61 views
1

我有問題搞清楚如何將System :: String轉換爲它的ascii代碼值。也就是說,獲取字符串中的每個字符,並創建一個包含每個字符整數ascii值的新字符串。我知道我可以編組一個System :: String到一個std :: string,然後這樣做(儘管我不知道該怎麼做,但是我確實沒有及時更新我的C++字符串操作,我的老師讓我們使用字符數組......)。但是必須有一種純粹的.NET方式來實現這一點。系統::字符串到ASCII代碼

我對.NET非常非常陌生。這是一項家庭作業。

任何幫助你可以給如何做到這一點將不勝感激。

很抱歉,如果這是一個愚蠢的問題=/

回答

1

好吧,我實際上已經不得不做作業做到這一點。我所做的是在.net環境中使用C++,並有一個字符串。這個字符串的字符可以像數組的字符串那樣訪問,stringname [i ... n]。使用您選擇的循環遍歷所有位置。要轉換的每個位置,所有你需要做的是:

int asciicode = stringname[i]; 
stringname[i] = asciicode; 

當然這時你再COUT的字符串名稱,你將有一串數字都聚集在一起,所以你可能不喜歡這樣,但這是整容的事情。

+0

這可以工作,但它的visual C++。我必須從文本框中輸入並將其轉換爲另一個文本框的ascii值。數據作爲System :: String存儲在文本框中。 – Nick

+0

噢好吧,我沒有用visual C++做很多工作,因爲我覺得這很痛苦。但是,整體概念應該是一樣的。只需使用字符串變量來處理文本框中的文本就不會發生變化。 – Kyle

+0

我想這就是我最終會用到的。編組爲std :: string它是。 – Nick

0

這對我有效。

#include <sstream> 

std::stringstream convert; 

std::string stdString = "whatever the string is"; 
std::string buffer; 
in charBuff; 

for(int i = 0; i < stdString.length(); i++) 
{ 
    charBuff = (int)stdString.at(i); 
    convert << charBuff; 
} 

buffer = convert.str();