guid

招RD和QA 2003-06-29 02:07:05
各位兄弟,在标准C库中有没有产生和比较GUID的函数,因为要在win32和linux下使用,所以最好是跨平台的。
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
招RD和QA 2003-07-03
  • 打赏
  • 举报
回复
no man knows?
招RD和QA 2003-07-01
  • 打赏
  • 举报
回复
帮忙啊。
sizhi 2003-06-30
  • 打赏
  • 举报
回复
--------------------------------------------------------------------------------




STAT(2) Linux Programmer's Manual STAT(2)


NAME
stat, fstat, lstat - get file status

SYNOPSIS
#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);

DESCRIPTION
These functions return information about the specified
file. You do not need any access rights to the file to
get this information but you need search rights to all
directories named in the path leading to the file.

stat stats the file pointed to by file_name and fills in
buf.

lstat is identical to stat, only the link itself is
stated, not the file that is obtained by tracing the
links.

fstat is identical to stat, only the open file pointed to
by filedes (as returned by fopen(3) ) is stated in place
of file_name.


They all return a stat structure, which is declared as
follows:

struct stat
{
dev_t st_dev; /* device */
ino_t st_ino; /* inode */
umode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device type (if inode device) */
off_t st_size; /* total size, in bytes */
unsigned long st_blksize; /* blocksize for filesystem I/O */
unsigned long st_blocks; /* number of blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last change */
};

Note that st_blocks may not always be in terms of blocks
of size st_blksize, and that st_blksize may instead pro-
vide a notion of the "preferred" blocksize for efficient
file system I/O.




Linux 1.1.75 1 January 1995 1





STAT(2) Linux Programmer's Manual STAT(2)


Not all of the Linux filesystems implement all of the time
fields. Traditionally, st_atime is changed by mknod(2),
utime(2), read(2), write(2), and truncate(2).

Traditionally, st_mtime is changed by mknod(2), utime(2),
and write(2). The st_mtime is not changed for changes in
owner, group, hard link count, or mode.

Traditionally, st_ctime is changed by writing or by set-
ting inode information (i.e., owner, group, link count,
mode, etc.).

The following macros are defined to check the file type:

S_ISLNK(m) is it a symbolic link

S_ISREG(m) regular file

S_ISDIR(m) directory

S_ISCHR(m) character device

S_ISBLK(m) block device

S_ISFIFO(m) fifo

S_ISSOCK(m) socket

The following flags are defined for the st_mode field:

S_IFMT 00170000 bitmask for the file type bit-
fields

S_IFSOCK 0140000 socket

S_IFLNK 0120000 symbolic link

S_IFREG 0100000 regular file

S_IFBLK 0060000 block device

S_IFDIR 0040000 directory

S_IFCHR 0020000 character device

S_IFIFO 0010000 fifo

S_ISUID 0004000 set UID bit

S_ISGID 0002000 set GID bit

S_ISVTX 0001000 sticky bit

S_IRWXU 00700 user (file owner) has read, write



Linux 1.1.75 1 January 1995 2





STAT(2) Linux Programmer's Manual STAT(2)


and execute permission

S_IRUSR (S_IREAD)
00400 user has read permission

S_IWUSR (S_IWRITE)
00200 user has write permission

S_IXUSR (S_IEXEC)
00100 user has execute permission

S_IRWXG 00070 group has read, write and execute
permission

S_IRGRP 00040 group has read permission

S_IWGRP 00020 group has write permission

S_IXGRP 00010 group has execute permission

S_IRWXO 00007 others have read, write and execute
permission

S_IROTH 00004 others have read permission

S_IWOTH 00002 others have write permisson

S_IXOTH 00001 others have execute permission

RETURN VALUE
On success, zero is returned. On error, -1 is returned,
and errno is set appropriately.

ERRORS
EBADF filedes is bad.

ENOENT File does not exist.

CONFORMING TO
SVID (not lstat()), AT&T (not lstat()), POSIX (not
lstat()), X/OPEN (not lstat()), BSD 4.3



--------------------------------------------------------------------------------

SEE ALSO
chmod, chown, readlink, utime,














Linux 1.1.75 1 January 1995 3






--------------------------------------------------------------------------------


Top Master Index Keywords Functions



--------------------------------------------------------------------------------
This manual page was brought to you by mjl_man V-2.0
招RD和QA 2003-06-30
  • 打赏
  • 举报
回复
楼上的,我需要在C++中使用。
好像GUID只是在COM中使用的,linux下几乎没有。
招RD和QA 2003-06-30
  • 打赏
  • 举报
回复
楼上, 这和GUID没有关系吧?
luoda 2003-06-29
  • 打赏
  • 举报
回复
好像没有(找一找),但是自己写一个好像也不困难,根据时间,环境等一些系统参量生成
一个在目标空间足够弥散的解(随机数)应该就可以了吧,因为只是用来唯一标示用吗,空间足够大,冲突的可能微乎其微。

要不你就去找找java中中有没有对应的函数。

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧