IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Атрибуты файлов под UNIX, C++ (https://www.imho.ws/showthread.php?t=92056)

Mrachik 05.09.2005 00:22

Атрибуты файлов под UNIX, C++
 
Тока не бейте сильно... ;)
Есть задача, получить атрибуты файлов и время их изменения. Ну и оперировать как-нить с ними (атрибутами)... Как это можно реализовать под UNIX?

pnp2000 05.09.2005 04:38

Я сейчас точно не скажу но можно попробовать POSIX

Drakosha 05.09.2005 11:03

в C?

man 2 stat

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int stat(const char *file_name, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *file_name, struct stat *buf);

....

Trotil 05.09.2005 11:48

Подробней тут:
http://www.codenet.ru/progr/cpp/spru/stat.php
http://www.codenet.ru/progr/cpp/spru/fstat.php

Mrachik 05.09.2005 17:31

Я Сишными библиотеками и сделал (после того уже как сюда написал правда). Видимо в стандартной библиотеке C++ подобного нету...

Zes 05.09.2005 21:58

Цитата:

Mrachik:
Видимо в стандартной библиотеке C++ подобного нету...
какой-какой библиотеке? где ты взял "стандартную" С++ библиотеку в Юниксах?В Линуксе ещё можно сказать "стандартная",тк g++ GNU (c++) (/usr/local/lib/g++-include/sys/stat.h) идут библиотеки,но модификация параметров на файлах вообще-то есть вещь системная,есмь С в Юниксе...

Mrachik 05.09.2005 22:20

Цитата:

Сообщение от Zes
какой-какой библиотеке? где ты взял "стандартную" С++ библиотеку в Юниксах?В Линуксе ещё можно сказать "стандартная",тк g++ GNU (c++) (/usr/local/lib/g++-include/sys/stat.h) идут библиотеки,но модификация параметров на файлах вообще-то есть вещь системная,есмь С в Юниксе...

А в /usr/include/c++ что лежит?
И файла algorithm например:

// <algorithm> -*- C++ -*-

// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.

........
бла-бла-бла
........
/** @file algorithm
* This is a Standard C++ Library header. You should @c #include this header
* in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/


Ясен пень что для С++ библиотека другая, там все построено на шаблонах и классах (чего в С нету просто), но поддержка в С++ библиотек С присутствует...
Да, система FreeBSD 5.3.

Zes 06.09.2005 11:59

Ну дк,то что оно стандартное,имеется ввиду стандарт ISO 14882, в коммерческиx Юниксаx нет этиx библиотек,да и на Линукс / BSD они ставятся только с GCC

Почитай тут про то как использовать файлы заголовков из C++ вместо C.


" You should not use the C-headers (except for system-level headers) from C++ programs" .... :contract:

Там же...под системными (system-level) судя по всему подразумеваются headers из /usr/include/sys (Glibc-headers). Тут список портинга С++ - в -С шные заголовки:/usr/share/doc/libstdc++*/html/17_intro/headers_cc.txt

stat там нет, как пишут тут, она не часть стандарта С++...

Mrachik 06.09.2005 12:44

Не понимаю к чему спор, есть определенное файло, которое предоставляет некоторые возможности для написания программ. Чем не библиотека, чем не стандартная? Про коммерческие юниха не знаю... Да и знать ничего не хочу... ;)

Zes 06.09.2005 12:59

спора,вообще то нет,написал выше про опции портинга и какие заголовки есть. Просто,тема-то открылась как С++ под Юниксами и пока ты не открыл глаза что обсуждаем BSD мы были в лёгком тумане :) :biggrin:
В любом случае,для stat я не нашёл соответствущего портинга,а значит наверно придется пользоватся с-ишной функцией :idontnow:

Mrachik 06.09.2005 13:57

Цитата:

Сообщение от Zes
спора,вообще то нет,написал выше про опции портинга и какие заголовки есть. Просто,тема-то открылась как С++ под Юниксами и пока ты не открыл глаза что обсуждаем BSD мы были в лёгком тумане :) :biggrin:
В любом случае,для stat я не нашёл соответствущего портинга,а значит наверно придется пользоватся с-ишной функцией :idontnow:

Ну я и сделал Сишными средствами... :p


Часовой пояс GMT +4, время: 00:46.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.