The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как это работает - strncpy(  entry_path + path_len, !*! samara, 29-Сен-05, 00:39  [смотреть все]
Привет всем!

char entry_path{PATH_MAX + 1];
size_t path_len;
*****
*****
*****
Пожалуста ответьте.

как объяснить этот трюк на следующей строке
strncpy(  entry_path + path_len, dir_entry{i]->d_name, sizeof(    entry_path) - path_len);

ни водной доке не встречал
может разьясните логику  entry_path + path_len
что бы самому такие трюки делать


и хочется материться, только на кого
на свои незнания
char * strncpy( const *s1, const char *s2, size_t length );

  • Как это работает - strncpy(  entry_path + path_len, !*! Ghecko, 03:03 , 29-Сен-05 (1)
    >Привет всем!
    >
    >char entry_path{PATH_MAX + 1];
    >size_t path_len;
    >*****
    >*****
    >*****
    >Пожалуста ответьте.
    >
    >как объяснить этот трюк на следующей строке
    >strncpy(  entry_path + path_len, dir_entry{i]->d_name, sizeof(    entry_path) - path_len);
    >
    >ни водной доке не встречал
    >может разьясните логику  entry_path + path_len
    >что бы самому такие трюки делать
    Ничего сложного. entry_path[] - массив типа char. entry_path - указатель на первый элемент массива, тоесть адрес ячейки памяти. path_len иммет тип size_t - это цлый тип. Ну и соответствеено прибаваляя к адресу первого эл-та массива какой то целое число мы получаем смещение относительно этого элемнта. Например если у нас массив char, то entry_path+4 будет указывать на entry_path[3], тоесть четвертый эл-т массива.  И никаких трюков :)





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру