x-kom hosting

[ WinAPI, C++ ] Przypisywanie LPSTR do std::string

Cansisti
utworzono
utworzono (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
komentarz

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
komentarz (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.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.