2012-01-20 3 views
2

Ниже программа я написал, что бежал хорошо, когда я печатаю, что команда линукс я хотел, чтобы выполнитьлинукс

include iostream 
include string 
using namespace std; 

int main() 
{ 
    cout << "The directory!"; 

    system("cd CS_204"); 

    return 0; 
} 

Однако ниже я попытался сделать это, так что пользователь может ввести в команду, они хотели, и я получаю, что они не могут конвертировать std::string в const char* Это мой первый раз, используя эту функцию, и я отчаянно пытаюсь ее понять. Помогите!!

int main() 
{ 
    cout << "The directory!"; 

    string word; 


    cin >> word 

    if(word != "A") 
     system(word); 

    return 0; 
} 

ответ

3

Во втором случае word имеет тип станд :: строка и не эквивалентно сопзЬ полукокса *. Вам нужно получить строку с стиле с использованием функции члена std::string::c_str()

system(word.c_str()); // This will convert to a c style string. 
+0

Спасибо вам обоим так много, и я буду помнить, чтобы пометить это как домашнее задание в следующий раз извините! Но спасибо!!! – CIM

Смежные вопросы