Как я могу заполнить массив символов строкой, en int

У меня есть вопрос о массиве символов:
У меня есть форма «1» + lapcounter + «:» + seconds «, которая должна входить в массив символов.
Как я могу заполнить этот массив в этой форме?

Спасибо

0

Решение

Если вы имеете в виду, что у вас есть числовые переменные, которые вы хотите отформатировать в строку, используйте для этого строковый поток:

std::stringstream ss;
ss << "1" << lapcounter << ":" << seconds";

Теперь вы можете извлечь строку из этого:

std::string s = ss.str();

и если вы действительно хотите массив символов по какой-то причине (что, я уверен, вам не нужно)

char const * cs = s.c_str();
1

Другие решения

использование sprintf, или же snprintf, Эта функция работает аналогично printf но вместо стандартного вывода выходные данные перейдут в указанный вами массив символов. Например:

char buffer[32];
snprintf(buffer, sizeof(buffer), "1%d:%d", lapcounter, seconds);
1

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()

0
По вопросам рекламы [email protected]