Program zamieniający komendy na kod asemblera - problem z nazwą pliku
Ostatnio zmodyfikowano 2012-01-21 14:18
RazzorFlame Temat założony przez niniejszego użytkownika |
Program zamieniający komendy na kod asemblera - problem z nazwą pliku » 2012-01-21 13:29:37 Nie chodzi o to ze program ma zla nazwe czy co. Chodzi o to ze chce zrobic tak aby program analizował komendy zawarte w pliku i tworzył plik assemblera (*.asm) o tej samej nazwie (np. "plik.$$$" na "plik.$$$.asm"). Nie wiem jak do args[] w funkcji main dodać ".asm". Probowalem: char * fullname = args[ 1 ] + ".asm"; string fullname = args[ 1 ] + ".asm"; char fullname[] = args[ 1 ] + ".asm";
Byc moze popełniam jakiś bardzo głupi błąd lecz nie umiem się z tym uporać. POMOCY! |
|
pekfos |
» 2012-01-21 13:36:04 std::string str( argv[ 1 ] ); str += ".asm"; W sumie, słabo znasz podstawy, skoro próbowałeś tak jak w pierwszej i trzeciej linii :P |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2012-01-21 13:50:32 Pewnie kolejny głupi błąd. Mam kod: #include <iostream> #include <fstream> #include <conio.h>
using namespace std;
int main( int argc, char * args[] ) { string name =( args[ 1 ] ); name += ".asm"; getch(); return 0; }
I gdy otwieram program wyskakuje mi takie cóś: terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct NULL not valid
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
I program sie zamyka... |
|
malan |
» 2012-01-21 13:54:25 Nie przesłałeś żadnego argumentu do programu, a więc argc jest równe 1. Z tego wynika, że args jest jednoelementową tablicą, a Ty odnosisz się do elementu drugiego. int main( int argc, char * args[] ) { if( argc > 1 ) { std::string name =( args[ 1 ] ); name += ".asm"; } else { std::cout << "Nie zapomniales o czyms?!" << std::endl; } getch(); return 0; } |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2012-01-21 14:02:31 Malan, stary jestes wielki :) Dziekuje! string temat = "THE END";
|
|
pekfos |
» 2012-01-21 14:18:47 Nie wystarczy napisać "zamykam" -.- Następnym razem zamknij temat. |
|
« 1 » |