2013-04-21 3 views
0

Я хочу создать строку вывода для своей игры. Это позволяет получить идентификатор объектов, а также уровень энергии. Есть ли способ сделать это в строкуСоздание строки с переменными

string Ouput = objects[x]->getIdentifier() + "Had the greater energy -> object" + objects[i]->getIdentifier() + "was deleted" + endl; 

Благодаря

JG

Edit: Возвращение getIdentifier() является полукокс .. Его секвенирование, поэтому A, B ... Z

+1

Что такое 'String'? –

+2

Используйте 'std :: string'. –

+0

У меня уже есть пространство имен #include std; и #include наверху. Этого недостаточно? – KingJohnno

ответ

4

Не +endl к строке. Если вы хотите использовать новую строку, используйте вместо этого '\n'.

#include <string> 
using namespace std; 

... 

string Ouput = objects[x]->getIdentifier() + .... + "was deleted\n"; 
                   ^^ 

 

Если тип возвращаемого getIdentifier() это число, вы можете использовать std::to_string, чтобы преобразовать его.

string Ouput = to_string(objects[x]->getIdentifier()) + .... + "was deleted\n"; 
       ^^^^^^^^^ 

Если это char вы можете использовать ниже способом:

string Ouput = string(1, objects[x]->getIdentifier()) + .... + "was deleted\n"; 
+0

Спасибо :-) Когда я отлаживаю код, отображается только идентификатор. – KingJohnno

+0

@KingJohnno Пожалуйста, покажите нам полный пример, который иллюстрирует вашу проблему. Обязательно укажите только код, который воссоздает точную проблему и не более. Также включите пример ввода и вывода. –

+0

Я получаю сообщение об ошибке «Не могу добавить два указателя». - проблема возникает из-за того, что на экран ничего не выводится. (в идеале я хотел бы записать это в файл AS a string) – KingJohnno

1

Если вы хотите, идентификатор принимать как в виде строки и Int передать его через функцию. Вы можете сказать void

void getIdentifier(int id, string description) 
{ 
cout << "What is the id\n"; 
cin >> id; 

cout << "What is the description\n"; 
cin >> description; 
} 

, а затем cout оба из них.

Надеюсь, это поможет.

+2

Это не сработает. Вы передаете «описание» по значению. Вам нужно передать его по ссылке, которую вы используете в качестве возвращаемого значения. 'std :: string getIdentifier (int i)' может быть лучше. –

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