Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
zaxs
Зарегистрирован: 09.04.2002 Сообщения: 4
|
Добавлено: Пн Апр 08 2002 10:50 Заголовок сообщения: Указатели |
|
|
Почему в функцию передается только первый элемент массива-"aqswde"??? Вызываю функцию которой передаю адрес указателя char ** с тем, чтобы она внесла туда данные а возвращается только первый элемент. Кстати все делается из примера с этого сайта-программирование на Си, раздел 1.7(указатели)
Coils(*** list) { int i,n=3;
*list=(char **)calloc(3,sizeof(char *)); for(i=0;i |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Пн Апр 08 2002 16:34 Заголовок сообщения: Re: Указатели |
|
|
Код бы поподробнее... |
|
Вернуться к началу |
|
|
zaxs
Зарегистрирован: 09.04.2002 Сообщения: 4
|
Добавлено: Вт Апр 09 2002 07:07 Заголовок сообщения: Re: Указатели |
|
|
Извините пожалуйста почему то только треть текста попала в форум.Повторю код: main() { char **files; vvod(&files); } vvod(***list) { int i; *list=(char **)calloc(3,sizeof(char *)); for(i=0;i |
|
Вернуться к началу |
|
|
zaxs
Зарегистрирован: 09.04.2002 Сообщения: 4
|
Добавлено: Вт Апр 09 2002 07:29 Заголовок сообщения: Re: Указатели |
|
|
Снова сорри. В общем хочу функцию которая получает адрес типа char **, записывает туда двумерный массив(имена файловв выбранном каталоге)и ВОЗВРАЩАЕТ ВСЕ(у меня только первое имя файла) имена файлов. Руководстовался материлалами с http://www.citforum.ru/programming/c/h17.shtml#17 раздел 1.7.5 |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Чт Апр 11 2002 17:12 Заголовок сообщения: Re: Указатели |
|
|
#include #include #include
#define Size1 10 #define Size2 40
void ppp(char*** src) { *src=new char*[Size1]; for(int i=0;i |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Чт Апр 11 2002 17:16 Заголовок сообщения: Re: Указатели |
|
|
#include "stdio.h" #include "conio.h" #include "string.h"
#define Size1 10 #define Size2 40
В ЦИКЛАХ for "("=="знаку меньше" - при выводе обработчик сообщений этого форума принимает их за таги и удаляет! - замечание webmasteru!!!!
void ppp(char*** src) { *src=new char*[Size1]; for(int i=0;i(Size1;i++) { (*src)[i]=new char[Size2]; sprintf((*src)[i],"\nfile00%02d.txt",i); } }
void main(void) { char ** src; ppp(&src); for(int i=0;i(Size1;i++) { printf(src[i]); delete[] src[i]; } delete[] src; getch(); }
//Но лучше
void ppp(char** &src) { src=new char*[Size1]; for(int i=0;i(Size1;i++) { src[i]=new char[Size2]; sprintf(src[i],"\nfile00%02d.txt",i); } }
void main(void) { char ** src; ppp(src); for(int i=0;i(Size1;i++) { printf(src[i]); delete[] src[i]; } delete[] src; getch(); }
Output: file0000.txt file0001.txt file0002.txt file.. |
|
Вернуться к началу |
|
|
|