2012-05-04 44 views
-3

我從文本框中獲取文本值,並且需要將此值傳遞給使用char *的_mkdir函數。將系統字符串轉換爲要傳遞給_mkdir函數的字符

所以我必須:

_mkdir(this->txt_path->Text); 

如何轉換這一點,我使用VS 2008的C++,並有淨ENV。

我已經看過其他在線材料,並沒有幫助:(

感謝, 布魯斯

+0

-1:這是您第二次沒有發佈相關聲明和其他重要信息。如果這是C++/CLI,它應該被標記爲這樣,而不是[C++] –

+0

如果Text是'std :: string',那麼'Text.c_str()'返回一個'const char *' – andre

+0

您無法提供'txt_path-> Text'類型,這是轉換知道的唯一最重要的事情(也就是,在你想要轉換的類型之後...) –

回答

1

嘛,最喜歡C API的這一項可能不是const正確性。你可以嘗試通過在Text.c_str()並看看會發生什麼

如果確實需要修改字符串,那麼首先要找到另一個函數來使用,這是一個非常不安全的問題,其次,你可以使用它通過這樣做:

std::vector<char> buf(Text.begin(), Text.end()); 
buf.push_back(0); 
_mkdir(&buf[0]); 
+0

這假設'Text'是一個'的std :: string'。從這張海報的歷史來看,情況可能並非如此。 –