2010-04-19 13 views
6

Vamos a considerar las siguientes líneas de código 3:¿Qué significa "archivo normal" según S_ISREG C/C++?

struct stat buffer;  
status = lstat(file.c_str(), &buffer); 
bool Flag = S_ISREG(buffer.st_mode) 

Cuando S_ISREG() devuelve true que le indica que el archivo es un archivo normal

¿Qué medios regulares exactamente?

Gracias

Respuesta

10

No es estándar, debe consultar la documentación de la implementación de CRT. Pero debería significar que el nombre hace referencia a un archivo normal, en lugar de un conducto, transmisión, enlace simbólico, directorio o dispositivo.

+1

a la derecha, olvidé las tuberías y los enchufes. – falstro

+1

¿qué pasa con el archivo ejecutable? ¿Es regular también? – Debugger

+1

Todavía no conocemos su sistema operativo. Pero típicamente, sí. –

5

regular significa que no es un directorio, no un enlace simbólico, no un dispositivo de bloque, y no un dispositivo de caracteres. Es solo ... regular. :)