zoukankan      html  css  js  c++  java
  • c/c++ 调用系统命令

    jni接口

    • sscanf()
    • popen()
    • fgets()
            FILE *file = NULL;
            int offset = 0;
            char line[MAX_SIZE];
            char buffer[MAX_SIZE];
            char result[MAX_SIZE * 2];
            char size_m[MIN_SIZE];
            char used[MIN_SIZE];
            char avail[MIN_SIZE];
            char usage[MIN_SIZE];
            char mount[MIN_SIZE];
            char fileSystem[MIN_SIZE];
    
            if (NULL == (file = popen("df -h |tail -n +2", "r")))
            {
                LOGE("%s->%d| error %d, %s",__func__,__LINE__,errno, strerror(errno));
                return env->NewStringUTF(constErrOpen);
            }
    
            memset(result, 0, sizeof(result));
            result[0] = '{';
            offset = 1;
            for (size_t i = 0;!feof(file);i++)
            {
                fgets(line, MAX_SIZE, file);
                sscanf(line, "%[^ ]",fileSystem);
                sscanf(line, "%*[^ ]%*[ ]%[^ ]%*[ ]%[^ ]%*[ ]%[^ ]%*[ ]%[^ ]%*[ ]%[^
    ]", size_m, used, avail, usage, mount);
    
                LOGI("GetDiskInfo:: line %s", line);
                if(0 == strlen(line))
                {
                    continue;
                }
    
                memset(buffer, 0, sizeof(buffer));
                sprintf(buffer, ""%s size":"%s","%s used":"%s","%s avail":"%s","%s usage":"%s","%s mount":"%s",", fileSystem, size_m, fileSystem, used, fileSystem, avail, fileSystem, usage, fileSystem, mount);
                LOGI("GetDiskInfo::buffer %s", buffer);
    
                int bufferlen = strlen(buffer);
                memcpy(result+offset, buffer, bufferlen);
                offset += bufferlen;
            }
            result[offset -1] = '}';
            result[offset] = '';
    
            LOGI("GetDiskInfo:: return %s", result);
            pclose(file);
            return  env->NewStringUTF(result);
    
  • 相关阅读:
    发起qq临时会话
    easyUI-textbox回车获取不到正确的textbox值问题
    Linq in条件查询
    常用js-API
    MVC4不支持EF6解决方案 && Nuget控制台操作说明
    JS报表打印分页CSS
    关于phpinfo页面展开的渗透
    基于phpmyadmin的攻击
    upload_labs靶场
    文件上传漏洞
  • 原文地址:https://www.cnblogs.com/xiongyungang/p/12526604.html
Copyright © 2011-2022 走看看