Witam. Mam napisać funkcję która jako parametr dostaje wskaźnik do zmiennej typu char (pierwszy element tablicy), znak NULL oznacza koniec ciągu znaków. Zadaniem tej funkcji jest konwersja małych liter na wielkie (inne znaki pozostają bez zmian).
Napisałem coś takiego:
using namespace std;
char funkcja(char *wsk)
{
for (int i = 0; i < 6, *wsk != '0'; i++, *wsk++)
{
cout << toupper(*wsk) << " ";
}
return *wsk;
}
int main() {
char tab[6] = {'a','b','c','D','0','0'};
char *wskk;
wskk = &tab[0];
cout << funkcja(wskk) << endl;
cout << toupper('b');
char k;
cin >> k;
return 0;
}
Rozumiem ,że jak argumentem ma być wskaźnik to nie możemy podać np tab? Najpierw trzeba stworzyć wskaźnik, przypisać do niego tab i dopiero dać jako argument?
A głowny problem polega na tym, że chciałbym wyświetlić duże litery a nie kod ASCII.
EDIT. Już wiem, zrzutowałem (char)toupper(*wsk) i wszystko działa ale zostawiam pytanie bo może istnieje jakaś inna metoda bez konieczności rzutowania?