Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
EVERLAST_999
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 61
#1

ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*') - C++

21.05.2013, 10:16. Просмотров 3126. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    string fileName, currWord, currMax = "";
    cin>>fileName;
    freopen(fileName, "r", stdin);
    while (cin>>currWord)
    {
        if (2 <= currWord.length() && 'E' == currWord[1]&& currWord.length() >= currMax.length())
            currMax = currWord; 
    }
    if (currMax.length())
        cout<<currMax;
    else
        cout<<"There is not such words";
    return 0;
}

Код
12	33	C:\Users\User\Desktop\prog by dev c++\main.cpp	[Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'FILE* freopen(const char*, const char*, FILE*)'
как исправить эту ошибку

http://www.cyberforum.ru/cpp-beginners/thread1936678.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 10:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*') (C++):

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&
astxx::manager::connection::connection(std::basic_string&lt;char,...

Ошибка при компиляции "Cannot convert `std::string' to `const char*"
Подскажите пожалуйста.Компилятор указывает на 13-ой позиции на ошибку типа:...

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
на #define LOG(Variable) Log&lt;&lt;&quot;&lt;&quot;;...

Std::string в const char*
можно ли std::string превратить в const char* и как это сделать?

Ошибка: no matching function for call to 'Slovare<std::basic_string<char> >::show()'
Помогите исправить ошибку. Программа должна при нажатии 3 выводить итог, но при...

2
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,186
Завершенные тесты: 1
21.05.2013, 10:24 #2
функция freopen требует в качестве имени char* а не string.
У string есть метод c_str(), возвращающий char значение строки.
1
-=ЮрА=-
Заблокирован
Автор FAQ
21.05.2013, 14:09 #3
EVERLAST_999, вот так будет работать
Цитата Сообщение от EVERLAST_999 Посмотреть сообщение
freopen(fileName.c_str(), "r", stdin);
либо
Цитата Сообщение от EVERLAST_999 Посмотреть сообщение
freopen(fileName.data(), "r", stdin);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 14:09
Привет! Вот еще темы с решениями:

Преобразовать const unsigned char* в std::string (или _bstr_t )
Здравствуйте старшие товарищи! Есть функция, которая возвращает результат...

No match for 'operator<' (operand types are 'std::__cxx11::string {aka std::__c
Имеем следующий код: #include &lt;iostream&gt; #include &lt;string&gt; #include...

IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char>
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct...

Запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
private: std::string firstName; }; std::string...


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

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

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