Ĺadny brzuch
Witam,
Mam mały problem. Otóż chcę napisać skrypt, który odczytuje literę po literze wyraz ze zmiennej typu string. Pomyślałem, że zrobię to za pomocą wskaźnika. Napisałem więc skrypt:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string wyraz="wisielec"; char *adres; adres=&wyraz; cout << *adres << endl; cout << ++*adres << endl; cout << ++*adres << endl; cout << ++*adres << endl; system("PAUSE"); return EXIT_SUCCESS; }
Jednak podczas debugowania wyskakuje mi błąd:
10 ...\Wisielec\main.cpp cannot convert `std::string*' to `char*' in assignment i zaznaczona na czerwono jest linijka
adres=&wyraz;
Wie może ktokolwiek o co chodzi i jak się z tym uporać?? :(
Będę bardzo wdzięczny.
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string wyraz="wisielec"; char *adres; adres=(char*)wyraz.c_str(); cout << *adres++ << endl; cout << *adres++ << endl; cout << *adres++ << endl; cout << *adres << endl; system("PAUSE"); return EXIT_SUCCESS; }IMHO głupi sposób na odczytywanie pojedynczych znaków :P
Pewnie i głupi, ale podaj lepszy, bo ja dużego doświadczenia nie mam. :P
PS Coś to nie działa, wyświetlają mi się litery
w
x
y
z .
?? :huh:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string wyraz="wisielec";
for(int i = 0 ; i < wyraz.length() ; ++i ) cout <<wyraz[i] <<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Dzięki, dzięki, dzięki.
Naprawdę wielkie dzięki, już po problemie!!
:D:D:D
Pewnie i głupi, ale podaj lepszy, bo ja dużego doświadczenia nie mam. :P
PS Coś to nie działa, wyświetlają mi się litery
.
?? :huh: Mi się wyświetlają "w, i, s, i", źle skopiowałeś? :>
@up
Możliwe. :P
W takim razie zwracam honor! :P
Ale i tak dzięki wam obum. :D
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam mały problem. Otóż chcę napisać skrypt, który odczytuje literę po literze wyraz ze zmiennej typu string. Pomyślałem, że zrobię to za pomocą wskaźnika. Napisałem więc skrypt:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string wyraz="wisielec"; char *adres; adres=&wyraz; cout << *adres << endl; cout << ++*adres << endl; cout << ++*adres << endl; cout << ++*adres << endl; system("PAUSE"); return EXIT_SUCCESS; }
Jednak podczas debugowania wyskakuje mi błąd:
10 ...\Wisielec\main.cpp cannot convert `std::string*' to `char*' in assignment i zaznaczona na czerwono jest linijka
adres=&wyraz;
Wie może ktokolwiek o co chodzi i jak się z tym uporać?? :(
Będę bardzo wdzięczny.
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string wyraz="wisielec"; char *adres; adres=(char*)wyraz.c_str(); cout << *adres++ << endl; cout << *adres++ << endl; cout << *adres++ << endl; cout << *adres << endl; system("PAUSE"); return EXIT_SUCCESS; }IMHO głupi sposób na odczytywanie pojedynczych znaków :P
Pewnie i głupi, ale podaj lepszy, bo ja dużego doświadczenia nie mam. :P
PS Coś to nie działa, wyświetlają mi się litery
w
x
y
z .
?? :huh:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string wyraz="wisielec";
for(int i = 0 ; i < wyraz.length() ; ++i ) cout <<wyraz[i] <<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Dzięki, dzięki, dzięki.
Naprawdę wielkie dzięki, już po problemie!!
:D:D:D
Pewnie i głupi, ale podaj lepszy, bo ja dużego doświadczenia nie mam. :P
PS Coś to nie działa, wyświetlają mi się litery
.
?? :huh: Mi się wyświetlają "w, i, s, i", źle skopiowałeś? :>
@up
Możliwe. :P
W takim razie zwracam honor! :P
Ale i tak dzięki wam obum. :D