Привет всем всем всем!!! Это снова я. У меня функция считывает из файла строку "Hello_Word!!", а в программу ее не может передать
. Подскажите что неправильно. Внизу кусочек проги.
...........................
...........................
int read_mem(char* buf[1024],int size_buf,long int addres)
{
int fd=open("memfile",O_RDONLY);
char buff[1024];
if(fd==-1)
{
fprintf(stderr,"Cannot open file\n");
return -1;
}
if (lseek(fd, addres, SEEK_SET) != addres)
{
printf("read error addres in memory\n");
close(fd);
return -1;
}
if (read(fd, buff, sizeof(buff)) != sizeof(buff))
{
printf("cannot read in memory\n");
close(fd);
return -1;
}
*buf=buff;
printf("buff: %s\n",*buf); //<- вот внутри функции *buf="Hello_Word!!" так и должно быть
close(fd);
return 0;
}
int main ()
{
int i;
char buf[]="Hello_Word!!";
long int addres=0;
printf("Write/Read - 1/2");
scanf("%d",&i);
......................
......................
if (i==2)
{
if(read_mem(&buf,sizeof(buf),addres)==-1)printf("cannot read");
printf("buf= %s",buf); // <а в программе вместо buf="Hello_Word!!" крякозябры выводятся
}
return 0;
}