FanXX Opublikowano 17 Stycznia 2013 Udostępnij Opublikowano 17 Stycznia 2013 Witajcie, robie w C++ swój launcher do bukkita, zrobiłem już bardzo dużo, lecz w opcjach zaawansowanych mam problem z taką rzeczą: wlacz: {system("java -Xmx" >> opcjanext >> "M -Xms" >> opcjanext >> "M -jar bukkit.jar");} ( strzałki brałem << i tak >> ) chciałem dokonać tego, że gdy w cin >> opcjanext; wpisze np 1024 to uruchomi sie jak by komenda CMD gdzie "opcjanext" to wartosc 1024. Nie wiem czy da się wpisać wartości liczbowe ze zmiennych do system(). Da się tak, albo jaki robie błąd? Dziekuje za pomoc! wtyczki i zmienne: #include <iostream> #include <windows.h> #include <string> using namespace std; int opcja; int opcjanext; string tn; error kompilatora: C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\main.cpp In function 'int main()': 47 32 C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\main.cpp [Error] invalid operands of types 'const char [10]' and 'int' to binary 'operator>>' C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\Makefile.win [Error] [main.o] Error 1 (if this is the only error: please check your library includes) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 17 Stycznia 2013 Udostępnij Opublikowano 17 Stycznia 2013 Do łączenia stringów używamy +. >> jest przeciążonym operatorem dla klasy cin, a << dla cout. string opcjanext; cin>>opcjanext; string cmd="java -Xmx" + opcjanext + "M -Xms" + opcjanext + "M -jar bukkit.jar"; system(cmd.c_str()); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 17 Stycznia 2013 Udostępnij Opublikowano 17 Stycznia 2013 Do łączenia stringów używamy +. >> jest przeciążonym operatorem dla klasy cin, a << dla cout. string opcjanext; cin>>opcjanext; string cmd="java -Xmx" + opcjanext + "M -Xms" + opcjanext + "M -jar bukkit.jar"; system(cmd.c_str()); Owszem, obiekt 'string' posiada przeładowany operator '+'. Ale jeżeli potrzebne nam jest łączenie łańcuchów jak i konwersja danych - można użyć w tym celu stringstream. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
FanXX Opublikowano 17 Stycznia 2013 Autor Udostępnij Opublikowano 17 Stycznia 2013 Przed main{} wpisałem string cmd; ale znów kompilator czepia się tego: string cmd="java -Xmx" + opcjanext + "M -Xms" + opcjanext + "M -jar bukkit.jar"; a dokładnie plusa przed "M -Xms" nie rozumiem tego, log: C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\main.cpp In function 'int main()': 50 42 C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\main.cpp [Error] invalid operands of types 'const char*' and 'const char [7]' to binary 'operator+' gdy dwa razy kliknę na to, wskazuje kreska na "M -Xms" C:\Users\Paffcio\Desktop\Minecraft Bukkit 1.4.6 Pro\cache\Makefile.win [Error] [main.o] Error 1 (if this is the only error: please check your library includes) Jeszcze obczaje to i dam edit PS: Pierwszy raz mam taki problem z nim którego nie moge rozwiązać :( (jeśli trzeba mogę dać element klasy gdzie występuje pare linijek (5-7) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 17 Stycznia 2013 Udostępnij Opublikowano 17 Stycznia 2013 opcjanext musi być stringiem. Jeśli chcesz dołączyć inta to użyj klasy stringstream tak jak napisał Konrad-GM. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
FanXX Opublikowano 17 Stycznia 2013 Autor Udostępnij Opublikowano 17 Stycznia 2013 Faktycznie, opcjanext była intem dziękuje wam za pomoc, mały drobiazg a cieszy :D Pozdrawiam Temat do zamknięcia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi