Форум программистов, компьютерный форум CyberForum.ru

Создание строки - C++

Восстановить пароль Регистрация
 
EfimenkoFedor
0 / 0 / 1
Регистрация: 29.09.2012
Сообщений: 59
10.10.2013, 17:48     Создание строки #1
Здравствуйте.
Скажите, пожалуйста, почему этот код выводит один символ "0", а не строку из 30 символов?
C
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
 
    string TestString = string("0", 30);
    printf("%s\n", TestString.c_str());
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
10.10.2013, 17:52     Создание строки #2
EfimenkoFedor, вы создали строку под 30 символов но вбили туда только 1н-"0", вот его и выводит
EfimenkoFedor
0 / 0 / 1
Регистрация: 29.09.2012
Сообщений: 59
10.10.2013, 17:53  [ТС]     Создание строки #3
а как сделать строку из 30 символов "0"?
Только в цикле прибавлять?

вариант вроде
C
1
TestString = "000000000000000000000000000000";
не подходит
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
10.10.2013, 17:58     Создание строки #4
так вроде должно проканать:
C++
1
char arr[30]={0};
EfimenkoFedor
0 / 0 / 1
Регистрация: 29.09.2012
Сообщений: 59
10.10.2013, 17:59  [ТС]     Создание строки #5
но это не строки
Stanis
52 / 41 / 8
Регистрация: 16.12.2012
Сообщений: 144
10.10.2013, 18:30     Создание строки #6
нужно другой конструктор использовать вот так :
C++
1
2
string name=string(30,'0');
cout<<name;
выдаст 30 нулей
Yandex
Объявления
10.10.2013, 18:30     Создание строки
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru