Witam.
Napisałem sobie prostą funkcję która za każdym wywołaniem dzieli tablice znaków w pewien sposób.
Wszystko wydaje się działać prawidłowo z jednym ale.
Mianowicie jak widać w załączonym kodzie w ciele funkcji odwołuję się do globalnego wskaźnika. Moje pytanie jak wywołać funkcję z tym wskaźnikiem jako argumentem.
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
char *Y; //GŁOWNY wskaznik
char bufor[20]= {"1A,2B,3C,4D,5E"};//"PGTOP,11,2*6E"};
char cokolwiek;
char *szuk(char *txt, char zn )
{
char t[10]={0,0,0,0,0,0,0,0,};
int i=0;
while (*Y != zn)
{
t[i++]=*Y;
Y++;
}
t[i]='\0';
Y++;
return t;
}
Jest :
int main(int argc, char argv[]) {
Y=bufor;
cout << szuk(cokolwiek,',' )<< endl;
return 0;
}
Powinno być:
int main(int argc, char argv[]) {
Y=bufor;
cout << szuk( Y,',' )<< endl; //Y jako argument
return 0;
}