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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 148, средняя оценка - 4.91
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
#1

Переменную типа string вывести в printf? - C++

05.12.2011, 21:30. Просмотров 20057. Ответов 9
Метки нет (Все метки)

как в переменную типа string вывести в printf?

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>  // для принтф
#include <stdlib.h>
#include <string>
 
using namespace std;
 
int main()
{
    string st="1asd";
    printf("%s",st);
    return 0;
}
не работает.

Не по теме:

пишу на visual studio 2010

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2011, 21:30     Переменную типа string вывести в printf?
Посмотрите здесь:
C++ Вывести с помощью printf переменную типа char*
Как преобразовать char* в string и вывести переменную string на экран? C++
C++ Чтение из файла в переменную типа string
Как разбить переменную типа String на 2 части? C++
Сравнить переменную типа string с содержимым файла C++
C++ Вставить один символ в переменную типа string
C++ Как записать шестнадцатеричное число в переменную типа string?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.12.2011, 21:33     Переменную типа string вывести в printf? #2
C++
1
2
3
4
5
#include <cstdio>
#include <string>
//...
std::string st("1asd");
std::printf("%s", st.c_str());
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:06  [ТС]     Переменную типа string вывести в printf? #3
а можно комментарии?
что это
Цитата Сообщение от Jupiter Посмотреть сообщение
.c_str()
или хотя бы где читать?

Добавлено через 1 минуту
а, все нашел.
http://www.cppreference.com/wiki/ru/string/c_str
Text.c_str(); - непонятно!

Добавлено через 22 минуты
а вот еще вдогонку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main()
{
    string st="C:\\program files";
    scanf(st.c_str());
    printf("%s", st.c_str());
 
    return 0;
}
в scanf ввожу допустим C:\windows
почему выводится C:\program files?
Петррр
5942 / 3379 / 336
Регистрация: 28.10.2010
Сообщений: 5,926
05.12.2011, 22:08     Переменную типа string вывести в printf? #4
C++
1
2
scanf(st.c_str());//не так
cin >> st;           //а вот так
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:16  [ТС]     Переменную типа string вывести в printf? #5
а можно без cin?
хотел через scanf и printf работать

Добавлено через 2 минуты
и еще кстати если делать через cin то такая строка:
hallo world
не введется. только hallo примет
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.12.2011, 22:19     Переменную типа string вывести в printf? #6
Цитата Сообщение от GBIT Посмотреть сообщение
а можно без cin?
можно, через одно место
Цитата Сообщение от GBIT Посмотреть сообщение
хотел через scanf и printf работать
тогда зачем string используешь?

Цитата Сообщение от GBIT Посмотреть сообщение
и еще кстати если делать через cin то такая строка:
hallo world
не введется. только hallo примет
используй getline
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
05.12.2011, 22:20     Переменную типа string вывести в printf? #7
C++
1
2
3
std::string str;
std::getline(std::cin, str);
std::cout << str << std::endl;
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:26  [ТС]     Переменную типа string вывести в printf? #8
Цитата Сообщение от Jupiter Посмотреть сообщение
зачем string используешь?
не знаю. сейчас так подумал: а действительно надо было через char делать)
вообще какая разница тогда между string и char. и когда что использовать?
Цитата Сообщение от Jupiter Посмотреть сообщение
используй getline
это опять же cin потребуется. т.е. scanf вообще не умеет принимать в string?
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.12.2011, 22:34     Переменную типа string вывести в printf? #9
Цитата Сообщение от GBIT Посмотреть сообщение
scanf вообще не умеет принимать в string?
не умеет
Цитата Сообщение от GBIT Посмотреть сообщение
и когда что использовать?
string когда пишешь на С++
char когда пишешь на Си
Цитата Сообщение от GBIT Посмотреть сообщение
вообще какая разница тогда между string и char
не вижу смысла копировать сюда то что описано в литературе по С++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 22:42     Переменную типа string вывести в printf?
Еще ссылки по теме:
C++ Как записать длину строки типа string в переменную
Объявить в заголовочном файле переменную типа std::string C++
C++ Как использовать переменную типа string в заголовочном файле?
В переменную типа string записывается только первое слово строки C++
C++ Используя указатель на переменную типа string, удалить последний символ этой переменной

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

Или воспользуйтесь поиском по форуму:
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:42  [ТС]     Переменную типа string вывести в printf? #10
Цитата Сообщение от Jupiter Посмотреть сообщение
вообще какая разница тогда между string и char
подозревал что бесполезный вопрос)

спасибо. вопрос закрыт
Yandex
Объявления
05.12.2011, 22:42     Переменную типа string вывести в printf?
Ответ Создать тему
Опции темы

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