Witam.
Mam błąd w linijce
Idzie to jakoś naprawić?Kod:const char* ZMIENNA = "111111111111111111111111";
Próbowałem bez cudzysłowiów, z apostrofami i nie działa.
Program ma na celu porównać tą zmienną z wartością podaną przez użytkownika.
Witam.
Mam błąd w linijce
Idzie to jakoś naprawić?Kod:const char* ZMIENNA = "111111111111111111111111";
Próbowałem bez cudzysłowiów, z apostrofami i nie działa.
Program ma na celu porównać tą zmienną z wartością podaną przez użytkownika.
"Najwyższym osiągnięciem jest pokonać wroga bez walki" - Sun Tzu
---
Sprzedam keyloggera wysyłającego logi na maila, do tego masa dodatków (np. USB spreading).
Kontakt: (gg)41878055
---
Do porównywania napisów radze użyć biblioteki "string" - http://cpp0x.pl/kursy/Kurs-C++/Biblioteka-string/319
A jeśli chodzi konkretnie o wyświetlany błąd to w samej linijce którą wstawiłeś błędu nie ma. Pewnie coś jest nie tak przy porównywaniu tej stałej z wartością wpisaną przez użytkownika.
Pozdrawiam
do porównywania dwóch cstringów służy funkcja strcmp: http://www.cplusplus.com/reference/c...string/strcmp/
VR8@ proszę:
1. plik nagłówkowy cstring daje funkcję strcmp (string compare)Kod:#include <iostream> #include <cstring> #include <conio.h> using namespace std; int main() { const char *STALA = "111"; char *napis = new char[80]; cin >> napis; if (strcmp(STALA,napis) != 0 ) cout << "\nNapisy nie zgadzaja sie"; else cout << "\nOK"; getch(); delete []STALA; delete []napis; return 0; }
2. jeśli coś jest const to nie jest zmienne tylko stałe
3. jeśli tworzy się pojedynczą zmienną lub całą tablicę poprzez wskaźnik, należy używać operatora new, jak w kodzie
4. ostatecznie należy zwolnić pamięć operatorem delete
Zerknij jeszcze na: http://www.cplusplus.com/reference/c...string/strcmp/
Inna możliwość zaprojektowania kodu:
Czemu do licha post nie ląduje na końcu tylko na górze???Kod:#include <iostream> #include <cstring> #include <conio.h> using namespace std; int main() { const char *STALA = new char[3]; STALA = "111"; char *napis = new char[80]; cin >> napis; if (strcmp(STALA,napis) != 0 ) cout << "\nNapisy nie zgadzaja sie"; else cout << "\nOK"; getch(); delete []STALA; delete []napis; return 0; }
Ostatnio edytowane przez cpp ; 03-02-2012 o 14:09