WINAPI C++ string в char - Вопросы по С+

Вопрос WINAPI C++ string в char

Регистрация
21 Май 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
Есть текст std::string tt = "C++ бесишь"; как ее преобразовать в char ???
 
Регистрация
2 Июл 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
В плане корректного преобразования и хранения в однобайтовые символы char это не полезет. По старинке и по стандарту Си это пихают в строку типа wchar_t. Есть и другие (новые) типы.
 
Регистрация
19 Дек 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
char - это один символ (точнее, 1 байт). Нельзя строку (например, 10 символов) преобразовать в один символ. Можно получить какой-то один символ строки, это будет char.
 
Регистрация
23 Авг 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
// пример с динамическим массивом
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstring>
using namespace std;
int main() {
cout << "String: ";
string line;
getline(cin, line);
auto length = line.length();
auto str = new char[length + 1];
copy(line.begin(), line.end(), str);
str[length] = 0;
cout << line << '\n' << str << '\n';
delete[] str;
system("pause > nul");
}
// пример со статическим массивом
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstring>
using namespace std;
int main() {
cout << "String: ";
string line;
getline(cin, line);
auto length = line.length();
char str[0xFF];
if (length < size(str)) {
copy(line.begin(), line.end(), &str[0]);
str[length] = 0;
cout << line << '\n' << str << '\n';
}
system("pause > nul");
}
 
Сверху Снизу