Go Back   O UNIX e Linux Forum > Top Fóruns > Programação
.
site google



Programação Post perguntas sobre C, C + +, Java, SQL, e outras linguagens de programação aqui.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-21-2006
Usuário
 

Join Date: Aug 2006
Posts: 1
Lightbulb Como obter tamanho de espaço livre em disco em C / C + + programa (sistema solar)

Como obter tamanho de espaço livre em disco em C / C + + programa (sistema solar)?
Existe alguma norma função ou sistema funcionar? Assim como "df" ou
"getdfree" no Linux.
Links Patrocinados
  #2 (permalink)  
Old 08-21-2006
blowtorch's Avatar
AFK
 

Join Data: dezembro 2004
Local: Singapura
Posts: 2.351
Como pretende fazer isso? Executar um sistema () que executa chamada 'df' ou pretende fazê-lo através do sistema de chamadas? Para este último, verifique as páginas man de statvfs (2). Para o primeiro método, consulte a página man do sistema (3).
  #3 (permalink)  
Old 08-23-2006
Usuário
 

Join Date: Aug 2006
Posts: 1
Necessário para escrever algo para obter informações dos discos e enviá-lo para um aplicativo da Web, então aqui está o código (o material removido html), isto deve dar-lhe a informação (sobre os nossos trabalhos AIX servidores pelo menos). A única coisa que faz é dar um valor ligeiramente mais elevado do que o espaço livre df, não certo do que está causando isso.


Código:
/*
################################################################################
##                              diskstat.c                                    ##
################################################################################
## diskstat returns (or will soon return to be more precice) webified diskstat for specific disk, should change to     ##
## XML'ified info at some point.....                                          ##
################################################################################
*/

#include <sys/statvfs.h>

int main( int argc, char *argv[] )
{
        struct statvfs fiData;
        struct statvfs *fpData;
        char fnPath[128];
        int i;

        if( argc < 2 ) {
                printf("Usage, webdisk DEVICE0 ..... DEVICEX\n");
                return(2);
        }

        //Lets loopyloop through the argvs
        for( i = 1 ; i<argc; i++ ) {
                strcpy(fnPath, argv[i]);
                if((statvfs(fnPath,&fiData)) < 0 ) {
                        printf("Failed to stat %s:\n", fnPath);
                } else {
                        printf("Disk %s: \n", fnPath);
                        printf("\tblock size: %u\n", fiData.f_bsize);
                        printf("\ttotal no blocks: %i\n", fiData.f_blocks);
                        printf("\tfree blocks: %i\n", fiData.f_bfree);
                }
        }
}


Para os demais membros da struct, verifique sys / statvfs.h.

Basta compilar e enviar-lhe o mountpoint do disco.
Assim, por exemplo. / A.out /

BTW Graças maçarico para apontar-me na direcção certa Com statvls.
  #4 (permalink)  
Old 08-07-2007
Usuário
 

Join Date: Aug 2007
Posts: 1
Exclamation necessidade de ajudar a testar no linux

oi,

i ter escrito o código para encontrar um espaço livre para o Linux utilizando código nativo do Java como abaixo.

# include <sys/statvfs.h>

JNIEXPORT jlong JNICALL Java_NativeUtils_getDiskFreeSpace
(JNIEnv * env, jclass obj, jstring caminho) (
struct statvfs fiData;
struct statvfs * fpData;
/ / char fnPath [128];
int i;
const char * str \u003d (* env) -> GetStringUTFChars (env, path, 0);
jlong ret;

if ((statvfs (str, & fiData)) <0) (
printf ( "Failed to stat% s: \ n", str);
) Else (
printf ( "\ tblock size:% u \ n", fiData.f_bsize);
)
(* env) -> ReleaseStringUTFChars (env, o trajeto, str);
ret \u003d (jlong) fiData.QuadPart;
return ret;
)

se uma pessoa está com o SO Linux e pode u por favor teste e voltar para mim

obrigado,
Prasad
  #5 (permalink)  
Old 01-30-2009
Usuário
 

Join Date: Jan 2009
Posts: 1
Eu usei o código e compliled ur-lo usando compilador gcc no Linux. Mas o seu dando o seguinte erro.

error: `JNIEXPORT" não nomeia um tipo


qualquer solução para que?
Links Patrocinados
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Desligado


Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
libertar algum espaço no sistema de arquivos fu4d UNIX para Dummies Perguntas & Respostas 6 04-11-2008 05:27
comando para encontrar espaço livre em disco no solaris harishankar Solaris 2 08-26-2007 12:47
Como re-alocar o espaço em disco para o Solaris 10 duke0001 UNIX & avançada para usuários experientes 2 12-13-2006 11:14
espaço livre em disco calc ninjanesto Programação 1 11-10-2006 11:03
Livre para o tamanho do sistema de arquivos videsh77 UNIX para Dummies Perguntas & Respostas 7 02-03-2005 06:44



Todos os horários são GMT -4. A hora é agora 09:35.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Brasil Content Copyright © 1993-2010. Todos os direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0