linux路径长度_Linux上C编程允许的最大文件路径长度?

linux路径长度

When programming in C on Linux, it is common to allocate a buffer for storing the full path of a file.

Linux上用C 编程时,通常分配一个缓冲区来存储文件的完整路径。

How to get a safe maximum size for allocating buffers for file paths?

如何获得安全的最大大小来为文件路径分配缓冲区?

The header <linux/limits.h> includes macros for the path and file name length limits.

标头< linux /limits.h>包含用于路径和文件名长度限制的宏。

On my system (Fedora 21), it is located in

在我的系统(Fedora 21)上,它位于

/usr/include/linux/limits.h

For your reference, the content is:

供参考,内容为:

#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H

#define NR_OPEN	        1024

#define NGROUPS_MAX    65536	/* supplemental group IDs are available */
#define ARG_MAX       131072	/* # bytes of args + environ for exec() */
#define LINK_MAX         127	/* # links a file may have */
#define MAX_CANON        255	/* size of the canonical input queue */
#define MAX_INPUT        255	/* size of the type-ahead buffer */
#define NAME_MAX         255	/* # chars in a file name */
#define PATH_MAX        4096	/* # chars in a path name including nul */
#define PIPE_BUF        4096	/* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX   255	/* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536	/* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */

#define RTSIG_MAX	  32

#endif

These 2 macros specify the maximum file name and path name lengths:

这两个宏指定最大文件名和路径名长度:

#define NAME_MAX         255	/* # chars in a file name */
#define PATH_MAX        4096	/* # chars in a path name including nul */

As it is Linux specific, your code using this header will not be portable to Unix or Windows OSes.

由于特定于Linux,因此使用此标头的代码无法移植到Unix或Windows OS。

Answered by Eric Z Ma.
埃里克·马(Eric Z Ma)回答。

翻译自: https://www.systutorials.com/maximum-allowed-file-path-length-for-c-programming-on-linux/

linux路径长度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值