Конкатенация const char * C ++ - PullRequest
0 голосов
/ 24 мая 2018
basic_string<TCHAR> titleChar( szTitle );
string titleStr( titleChar.begin(), titleChar.end() );
const char* Songtitle = titleStr.c_str();

basic_string<TCHAR> artisTChar( szArtist );
string artitstStr( artisTChar.begin(), artisTChar.end() );
const char* Artistitle= artitstStr.c_str();

Я пытаюсь объединить две переменные const char * Songtitle & Artistitle.После объединения я хочу просто написать в текстовом файле, используя ofstream

ofstream file;
file.open("D:\\lrc\\lyricsub\\songname.txt");
file << Songtitle;
file.close();

1 Ответ

0 голосов
/ 24 мая 2018

Нет необходимости ни во всем этом коде, ни в конкатенации:

std::string_view title { szTitle, strlen(szTitle) };
std::string_view artist_name { szArtist, strlen(szArtist) };
ofstream file;
file.open("D:\\lrc\\lyricsub\\songname.txt");
file << title << ' ' << artist_name;
file.close();

Обратите внимание, что этот код, который использует std::string_view, не выделит никакойдополнительное пространство , что хорошо.Хотя это может не иметь большого значения для пары коротких строк.

...