Fantik
Будущий главный специалист
Участник
Offline
|
|
« : 10-06-2008 06:46 » |
|
|
|
« Последнее редактирование: 10-06-2008 11:15 от Finch »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 10-06-2008 06:51 » |
|
а вот так #include<stdio.h> void func (char** buf) { *buf="Привет_всем!!!"; }
void main () { char* buf=0; func(&buf); printf("%s",buf); }
|
|
« Последнее редактирование: 10-06-2008 06:53 от Алексей1153++ »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #2 : 10-06-2008 06:55 » |
|
а до этого ты копировал только указатель
*buf=buff;
на временный буфер buff , который (буфер) после выхода из функции был не валиден (вернее - не существовал)
|
|
|
Записан
|
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #3 : 10-06-2008 06:56 » |
|
Спасибо щас попробую =)
|
|
|
Записан
|
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #4 : 10-06-2008 07:11 » |
|
Работает =P
|
|
|
Записан
|
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #5 : 10-06-2008 07:47 » |
|
Тоже самое только в функции идет чтение строки из файла. А почему щас не работает? #include<stdio.h> void func (char** buf[100]) { int fd=open("имя файла",O_RDONLY) //файл есть и он нормальный без косяков lseek(fd,0,SEEK_END); read(fd, *buf, 100); close(fd); }
void main () { char* buf[100]; func(&buf); printf("%s",buf); }
|
|
« Последнее редактирование: 10-06-2008 11:16 от Finch »
|
Записан
|
|
|
|
McZim
|
|
« Ответ #6 : 10-06-2008 07:52 » |
|
snickers, обрамляй код тегами [ code ]...[ /code ]
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #7 : 10-06-2008 07:56 » |
|
snickers, а что ты вот тут читаешь? read(fd, *buf, 100);
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #8 : 10-06-2008 07:56 » |
|
snickers, обрамляй код тегами [ code ]...[ /code ]
Я тебя не понимаю это как?
|
|
|
Записан
|
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #9 : 10-06-2008 07:58 » |
|
это текстовый файл с набором всяких букв. Сам сгенерировал вручную =) Вы код посмотрите правильно?
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #10 : 10-06-2008 07:59 » |
|
snickers, когда, показываешь код, в инструментах редактирования текста есть такой инструмент как код, он имеет пиктограмму # вот в него заворачивай размещаемый тобой код в твоих сообщениях.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #11 : 10-06-2008 07:59 » |
|
snickers , потому что тут надо иначе #include<stdio.h> void func (char* buf,DWORD dwdBufLen) { int fd=open("имя файла",O_RDONLY) //файл есть и он нормальный без косяков lseek(fd,0,SEEK_END); read(fd, buf, dwdBufLen); close(fd); }
void main () { char buf[100+1]; // а на нуль-терминатор ещё место не надо что ли ? ;) memset(buf,0,sizeof(buf)); // sizeof(buf) - прокатит только для статического массива или не массива, тут внимательнее func(buf,sizeof(buf)-1); //один байт - нуль терминатор, на всяк пожарный, не забываем
printf("%s",buf); }
тоже не компилировал ) И почитай про указатели и массивы теорию , сильно почитай
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #12 : 10-06-2008 08:00 » |
|
snickers, я же тебе и делаю подсказку, что ты читаешь вот тут? read(fd, *buf, 100); смотри внимательно.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #13 : 10-06-2008 08:04 » |
|
Это для того чтобы он был другим цветом чтоли =). Ок
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #14 : 10-06-2008 08:09 » |
|
snickers, видишь как Алексей сделал, вот делай так же, это правила форума, уважай собеседников.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #15 : 10-06-2008 08:14 » |
|
Спасибо разобрался вроде. В делпхи както попроще на щес этого
|
|
|
Записан
|
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #16 : 10-06-2008 08:14 » |
|
Классный форум
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #17 : 10-06-2008 08:20 » |
|
Классный форум Offtopic: Ты только не говори никому А то набегут студенты, и пол предложат мыть. Поставлю в угол. С иероглифами разобрался?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Fantik
Будущий главный специалист
Участник
Offline
|
|
« Ответ #18 : 10-06-2008 08:26 » |
|
ага разобрался
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Online
Пол:
|
|
« Ответ #19 : 10-06-2008 08:55 » |
|
Классный форум Он ещё лучше на самом деле. Вот если бы ты воспользовался поиском, то сразу бы нашёл тему о передачи массива в ф-ю. Рекомендую её почитать.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
|