Пытаюсь сделать следующие,
в зависимости от числа StringPos, добавлять кол-во пробелов space перед b
char space[] = " ";
char b[] = "B";
for(int i = 0; i < StringPos; i++)
{
//вывод на экран
Test_value->VaString((space * i) + b);
}
к сожалению это так не работает ибо умножать char нельзя. Знает кто правильный способ?
Все просто:
Test_value->VaString(std::string(i, ' ') + b); // Или `+ "B"`.
Если параметр этой функции - это const char *, а не std::string, тогда так:
Test_value->VaString((std::string(i, ' ') + b).c_str());
Если Вам известно максимальное количество пробелов, то заводите константную строку из этого максимального количества, а выводите ее часть, например:
const std::string s20=" ";
std::cout << s20.substr(0, 11) << "B";
или
char s20[] = " ";
std::cout << (s20 + 9) << "B";
во втором случае выведется 20-9 пробелов.
Пример как набить массив пробелами и вывести на экран:
char space[100] = {0};
memset(space, ' ', (StringPos - 1));
cout << space << b << endl;
можно еще использовать фишку из си
printf("%*s", StringPos, b);
Если не ошибаюсь именно так.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей