Хорошо у меня есть функция
int main
{
....
char *wordl=word();//wordl pointer is an array of characters
...
gamewindow(wordl,length);
}void gamewindow(char &wordl,int length);
Мой вопрос, как передать указатель так, чтобы указатель указывал на один и тот же список массивов ..
и я могу получить к нему доступ через wordl [i] в функции gamewindow.
Из комментария ниже, реализация word()
:
char* word()
{ int j=1988497762; cout<<j<<endl ;
static char original[25];
int x;
ifstream fin("out.txt");
for (j=0;!fin.eof();j++)
fin.getline(original,25);
fin.close();
srand ( (unsigned) time(NULL) );
x = rand()%j; cout<<x<<"\n";
cout<<rand()<<endl;
char c;
ifstream finn("out.txt");
for (j=0; !finn.eof(); j++)
{ finn>>c; finn.getline(original,25); if (x==j) break; }
finn.close();
return original; }
Если вы действительно хотите использовать это только так (а не использовать std::vector
или же std::string
) тебе нужно поменять gamewindow
в void gamewindow(char *wordl,int length);
Тогда вы можете получить доступ char
с помощью word1[i]
,
Лучше использовать std::string
, std::vector
и другой стандарт контейнеры. Если на C ++ 2011, используйте возможно станд :: массив
Так что объявляйте вместо
void gamewindow(std::string&str);