2013-02-10 157 views
0

我需要將字符數組中的字符轉換爲const char *以便使用fstream將其打印到文件中。我不確定如何去做。我試過把單個字符串放入一個字符串中,然後使用c_str(),但那不起作用。C++ char const char *

+3

該代碼將很有用? – 2013-02-10 08:24:16

+3

等一下,什麼?您當然不需要將字符數組中的字符轉換爲'const char *'以便使用'fstream'將其打印到文件中。請[分享代碼](http://sscce.org/)到目前爲止,讓我們知道你看到了什麼編譯器錯誤,讓你相信這樣的事情。 – Johnsyweb 2013-02-10 08:25:27

回答

1

嗯......如果你有一個字符數組,當傳遞給函數時已經衰減到char *

如果你只需要一個字:

char array[128]; // whatever - you want to extract the char from this 
char s[] = { array[64], 0 }; 

然後用s現在可衰變成char *

編輯:爲了使用fstream的將它打印到文件

好吧,那就不必將其轉換爲

: D'哦,我剛讀這合適的C字符串。 operator<<知道它的工作,並且它也過載了char

2

如果你想要寫一個字,只使用operator<<

char arr[256] = "..."; 
fstream f(...); 

f << arr[2]; 

你並不需要的字符轉換爲C字符串。