Cansisti utworzono 9 września 2012 utworzono 9 września 2012 (edytowane) Jak w temacie, chcę przypisać LPSTR do stringa, żeby potem wyszukać w nim jakiś znak. Kod: [CODE] int Test() { LPSTR Name; DWORD Rozmiar = GetWindowTextLength( hCombo ); GetWindowText( hCombo, Name, Rozmiar ); std::string StringName = Name; //Gdy program dochodzi do tego momentu, wywala błąd "Program przestał działać..." size_t findedposytion; char kropka = '.'; findedposytion = StringName.find( kropka ); if(findedposytion == std::string::npos) return 1; else return 0; } [/CODE] Wszystko konwetruje się bez problemu, ale jak napisałem w kodzie, po dojściu do tego momentu wywala błąd. Co na to poradzić? Edit: Ok, problem z przypisywaniem rozwiązany (dziwne bo wystarczyło usunąć wszystkie puste linijki w funkcji - nigdy nie widziałem żeby to sprawiało błąd) ale teraz problem jet taki że chociaż [b]string to np. nazwa.txt to program i tak zwraca 1, a nie 0.[/b] O co chodzi?
leggo komentarz 10 września 2012 komentarz 10 września 2012 Zapewne przypisywanie wciąż nie działa tak jak powinno i np. sprawdzany string zawsze jest pusty (więc nie ma w nim kropki). Pokaż jak wygląd Twój kod po zmianach (ten który podałeś nie kompiluje się, a wierz mi, puste linijki naprawdę nie mają znaczenia).
Cansisti komentarz 16 września 2012 Autor komentarz 16 września 2012 (edytowane) [CODE] int TestExtand() { LPSTR invoidName; DWORD invoidExtendRozmiar = GetWindowTextLength( hComboForNameExtand ); GetWindowText( hComboForNameExtand, invoidName, invoidExtendRozmiar ); std::string nametoextand = invoidName; size_t findedposytion; char kropka = '.'; findedposytion = nametoextand.find( kropka ); if(findedposytion == std::string::npos) return 1; return 0; } [/CODE] Pomoże ktoś?
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.