Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 148, средняя оценка - 4.91
GBIT
13 / 13 / 5
Регистрация: 05.10.2011
Сообщений: 219
#1

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

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

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

http://www.cyberforum.ru/cpp-beginners/thread1408266.html
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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2011, 21:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переменную типа string вывести в printf? (C++):

Как преобразовать char* в string и вывести переменную string на экран?
for (int k = 0; k &lt; 10; k++) { int x = (int)rand() / RAND_MAX + rand() %...

Чтение из файла в переменную типа string
Добрый вечер! :) Вот делаю программу в одном из элементов которой нужно...

Сравнить переменную типа string с содержимым файла
а как можно сравнить переменную типа string с содержимым файла?

Как разбить переменную типа String на 2 части?
есть переменная типа String, например String slovo= &quot;кибер форум&quot; как ее...

Вставить один символ в переменную типа string
Есть такая переменная string str = &quot;Hllo world!&quot;; Как мне вставить букву e,...

9
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.12.2011, 21:33 #2
C++
1
2
3
4
5
#include <cstdio>
#include <string>
//...
std::string st("1asd");
std::printf("%s", st.c_str());
1
GBIT
13 / 13 / 5
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:06  [ТС] #3
а можно комментарии?
что это
Цитата Сообщение от Jupiter Посмотреть сообщение
.c_str()
или хотя бы где читать?

Добавлено через 1 минуту
а, все нашел.
http://www.cppreference.com/wiki/ru/string/c_str
http://www.cyberforum.ru/cpp-builder/thread145005.html

Добавлено через 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?
0
Петррр
6155 / 3455 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
05.12.2011, 22:08 #4
C++
1
2
scanf(st.c_str());//не так
cin >> st;           //а вот так
0
GBIT
13 / 13 / 5
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:16  [ТС] #5
а можно без cin?
хотел через scanf и printf работать

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

Цитата Сообщение от GBIT Посмотреть сообщение
и еще кстати если делать через cin то такая строка:
hallo world
не введется. только hallo примет
используй getline
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
05.12.2011, 22:20 #7
C++
1
2
3
std::string str;
std::getline(std::cin, str);
std::cout << str << std::endl;
1
GBIT
13 / 13 / 5
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:26  [ТС] #8
Цитата Сообщение от Jupiter Посмотреть сообщение
зачем string используешь?
не знаю. сейчас так подумал: а действительно надо было через char делать)
вообще какая разница тогда между string и char. и когда что использовать?
Цитата Сообщение от Jupiter Посмотреть сообщение
используй getline
это опять же cin потребуется. т.е. scanf вообще не умеет принимать в string?
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.12.2011, 22:34 #9
Цитата Сообщение от GBIT Посмотреть сообщение
scanf вообще не умеет принимать в string?
не умеет
Цитата Сообщение от GBIT Посмотреть сообщение
и когда что использовать?
string когда пишешь на С++
char когда пишешь на Си
Цитата Сообщение от GBIT Посмотреть сообщение
вообще какая разница тогда между string и char
не вижу смысла копировать сюда то что описано в литературе по С++
0
GBIT
13 / 13 / 5
Регистрация: 05.10.2011
Сообщений: 219
05.12.2011, 22:42  [ТС] #10
Цитата Сообщение от Jupiter Посмотреть сообщение
вообще какая разница тогда между string и char
подозревал что бесполезный вопрос)

спасибо. вопрос закрыт
0
05.12.2011, 22:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 22:42
Привет! Вот еще темы с решениями:

Ошибки в выводе типа if (string != "0") printf("%s, ", string)
Имеется класс &quot;почтовый адрес&quot;, поля - string и int. Необходимо сделать так,...

Как записать шестнадцатеричное число в переменную типа string?
Есть ф-ция, которая переводит целочисленный переменные или просто цифры в...

Как использовать переменную типа string в заголовочном файле?
Есть файл cpp в котором объявлена переменная string head; Как мне...

Как записать длину строки типа string в переменную
Собственно вопрос в заголовке. Спасибо заранее:) Через i=s.size() // где, s...


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

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

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