Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
#1

printf не выводит значение строки - C++

07.07.2012, 23:15. Просмотров 2725. Ответов 17
Метки нет (Все метки)

заместо значения выводит (null)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string>
#include <iostream>
 
int main() 
{
    std::string stry("dDSGSfSfSGSDGdsGfHSDSDdSDGSD");
    for(std::string::iterator it=stry.begin(); it != stry.end();++it) {
        if (isupper(*it)) {
            stry.erase(it);
            it=stry.begin();
        }
    }
    printf("%s \n", stry);
    std::cout << stry << std::endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2012, 23:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос printf не выводит значение строки (C++):

Printf не выводит текст
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using...

Printf выводит нули
Здравствуйте! Функция printf выводит нули вместо чисел типа double, числа типа...

Почему не выводит printf?
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; #include...

Printf() выводит ерунду
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Функция не выводит значение строки
Доброго Проблема в том, что функция print() не выводит значение. Ломаю...

Printf выводит непонятное число вместо требуемого
Здравствуйте. Совсем недавно начал изучать С++, и натолкнулся на такую...

17
Петррр
6155 / 3455 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
07.07.2012, 23:17 #2
C++
14
printf("%s \n", stry.c_str());
2
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
07.07.2012, 23:24 #3
честно говоря не знаю в чем проблема но могу чучуть переделать код :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <stdio.h>
 
using namespace std;
int main()
{
   string stry("dDSGSfSfSGSDGdsGfHSDSDdSDGSD");
  char *p = NULL;
 p = &stry[0];
 for (; *p;++p)
{
 if (isupper(*p))
   *p = tolower(*p);
}
 
 cout << stry << endl;
return 0; 
 
}
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.07.2012, 23:30 #4
Цитата Сообщение от DaskOFF Посмотреть сообщение
printf("%s \n", stry);
о боги, спецификатор %s означает то что printf ожидает на входе const char*, неужели это так трудно понять тем более откуда Си-шной функции знать что такое объект, коим является ваш stry
0
Петррр
6155 / 3455 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
07.07.2012, 23:32 #5
printf - Си-шная функция, и форматная строка %s ждет указатель на char (char*)
0
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
07.07.2012, 23:34  [ТС] #6
Цитата Сообщение от Jupiter Посмотреть сообщение
о боги, спецификатор %s означает то что printf ожидает на входе const char*, неужели это так трудно понять тем более откуда Си-шной функции знать что такое объект, коим является ваш stry
да я уже понял, просто всегда выводил через std::cout, а тут узнал что она медленнее чем printf
до этого не пользовался ей ни разу
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
07.07.2012, 23:42 #7
DaskOFF, Ппц. Вы пишите приложение, которое будет работать на системе с 16 мб RAM? Какая вам разница медленнее ли cout printf-а? Вам это показал профайлинг? Вы вкурсе что использование std::string медленнее чем использование char*? Не занимайтесь преждевременной оптимизацией, никогда
0
ШКІПЕР
94 / 94 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
07.07.2012, 23:50 #8
Цитата Сообщение от DaskOFF Посмотреть сообщение
просто всегда выводил через std::cout, а тут узнал что она медленнее чем printf
Тогда для Вас - welcome to assembler!

Ребята, не бейте топикстартера, оптимизация - это весьма важный момент
1
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
08.07.2012, 00:01 #9
Что ж вы все так на ТС напали... Вот xADMIRALx вообще не понял почему не работает, а вы ТС браните.
1
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.07.2012, 00:05 #10
Цитата Сообщение от lazybiz Посмотреть сообщение
Что ж вы все так на ТС напали... Вот xADMIRALx вообще не понял почему не работает, а вы ТС браните.
флудить надо меньше, совсем недавно обсуждалось
http://www.cyberforum.ru/cpp-beginne...ml#post3204730
http://www.cyberforum.ru/cpp-beginne...ml#post3209890
http://www.cyberforum.ru/cpp-beginne...ml#post3213960
0
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
08.07.2012, 00:12  [ТС] #11
Цитата Сообщение от ForEveR Посмотреть сообщение
DaskOFF, Ппц. Вы пишите приложение, которое будет работать на системе с 16 мб RAM? Какая вам разница медленнее ли cout printf-а? Вам это показал профайлинг? Вы вкурсе что использование std::string медленнее чем использование char*? Не занимайтесь преждевременной оптимизацией, никогда
большинство тут для вывода использует printf мне же надо знать как он выводит и почему именно так, а не иначе...

В общем спасибо тем кто помог, это все таки раздел для начинающих
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.07.2012, 00:18 #12
Цитата Сообщение от DaskOFF Посмотреть сообщение
большинство тут для вывода использует printf

Не по теме:

большинство понятие относительно, нужно иметь собственное мнение и голову на плечах


в коде на С++ использование Си-шных функций недопустимо и точка.
0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
08.07.2012, 00:24 #13
Цитата Сообщение от Jupiter Посмотреть сообщение
в коде на С++ использование Си-шных функций недопустимо и точка.
Ну зачем же так резко. Допустимо конечно.. но не приветствуется. Например смешивать модулями - не плохая практика.
0
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
08.07.2012, 01:00  [ТС] #14
Цитата Сообщение от Jupiter Посмотреть сообщение

Не по теме:

большинство понятие относительно, нужно иметь собственное мнение и голову на плечах

смысл в другом... не чтобы пользоваться , а чтобы понимать что в том или ином коде написанным другим пользователем выводиться...
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.07.2012, 19:11 #15
DaskOFF, практически ни в одной книге по С++ не будут рассматриваться сишные функции. Хотите разобраться в них - книгу по чистому Си в руки и вперёд. И забудьте сразу про их использование с объектами.
1
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
08.07.2012, 19:29  [ТС] #16
Цитата Сообщение от silent_1991 Посмотреть сообщение
DaskOFF, практически ни в одной книге по С++ не будут рассматриваться сишные функции. Хотите разобраться в них - книгу по чистому Си в руки и вперёд. И забудьте сразу про их использование с объектами.
как я уже сказал, мне не для пользования, а чтобы понимать, как выводит printf результат, в некоторых темах эта функция фигурирует
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.07.2012, 19:32 #17
DaskOFF, и как это сводит на нет совет читать книги по Си для познания функций библиотеки Си?
0
DaskOFF
112 / 112 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
08.07.2012, 19:58  [ТС] #18
Цитата Сообщение от silent_1991 Посмотреть сообщение
DaskOFF, и как это сводит на нет совет читать книги по Си для познания функций библиотеки Си?
но я и советов по литературе не просил
0
08.07.2012, 19:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2012, 19:58
Привет! Вот еще темы с решениями:

Вычислить значение выражения. Не работает printf
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt;...

Ширина строки в printf
покопался в инете, но чё-та не нашёл нужного мне варианта, наверно плохо искал...

Вывод строки в printf
Есть варианты кода, пытающиеся вывести строку &quot;abc&quot; в stdout. #include...

printf и integer 128 бит, как вывести значение?
Как напечатать через printf знаковый и беззнаковый 128-битный integer?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru