У меня есть вопрос о массиве символов:
У меня есть форма «1» + lapcounter + «:» + seconds «, которая должна входить в массив символов.
Как я могу заполнить этот массив в этой форме?
Спасибо
Если вы имеете в виду, что у вас есть числовые переменные, которые вы хотите отформатировать в строку, используйте для этого строковый поток:
std::stringstream ss;
ss << "1" << lapcounter << ":" << seconds";
Теперь вы можете извлечь строку из этого:
std::string s = ss.str();
и если вы действительно хотите массив символов по какой-то причине (что, я уверен, вам не нужно)
char const * cs = s.c_str();
использование sprintf
, или же snprintf
, Эта функция работает аналогично printf
но вместо стандартного вывода выходные данные перейдут в указанный вами массив символов. Например:
char buffer[32];
snprintf(buffer, sizeof(buffer), "1%d:%d", lapcounter, seconds);
to_string
используется так:
#include <iostream>
#include <string>
int main()
{
int lapcounter = 23;
std::string str("1");
str.append(std::to_string(lapcounter ));
str.append(":seconds");
std::cout << str << std::endl;
}
печать
123:seconds
если вам действительно нужен массив символов, вы получите это от ss.c_str()