如何从char[]中获取值
how to get a value from a char[]
无论如何,感谢所有帮助我的人。我想从/proc/pid/status中获得VmRSS值,下面是代码
int main()
{
const int PROCESS_MEMORY_FILE_LEN = 500;
FILE *file;
std::string path("/proc/4378/status");
//path += boost::lexical_cast<std::string>( pid );
//path += "/status";
if(!(file = fopen(path.c_str(),"r")))
{
std::cout <<"open " << path<<"is failed " << std::endl;
return float(-1);
}
char fileBuffer[PROCESS_MEMORY_FILE_LEN];
memset(fileBuffer, 0, PROCESS_MEMORY_FILE_LEN);
if(fread(fileBuffer, 1, PROCESS_MEMORY_FILE_LEN - 1, file) != (PROCESS_MEMORY_FILE_LEN - 1))
{
std::cout <<"fread /proc/pid/status is failed"<< std::endl;
return float(-1);
}
fclose(file);
unsigned long long memoryUsage = 0;
int a = sscanf(fileBuffer,"VmRSS: %llu", &memoryUsage);
std::cout << a << std::endl;
std::cout << memoryUsage << std::endl;
}
最后,谢谢
根据您的评论:在您的char数组中使用c++算法结合c++字符串库查找VmRSS
。然后你会得到VmRSS
的位置,你所要做的就是检索想要的结果。如果对这些条目的结构有一些了解,这应该是一件容易的事。
除此之外,使用fstream直接读取字符串可能会更好。
相关文章:
- 是否可以在C++中获取 CHAR 的有效十六进制地址?
- 获取"rw_ssid"中成员"长度"的错误请求,该成员属于非类类型"char*"
- 获取未知分段错误"(地址)在 std::__cxx11::basic_string<char, std::char_traits<char>,..., std::分配器<cha
- 无法获取已填充堆栈<char>的顶部元素
- 为什么要使用引用来获取 *char?当我们使用指针时,不使用引用不是更好吗?
- 从函数获取 char* 后的条件 gdb 断点
- 如何使用CIN将输入整数值获取到char类型变量中
- 使用安全模式从DLL(通过(INTPTR)参数传递到该函数)获取char **
- (c#)从c dll获取char **时的accessViolationException
- 在不复制的情况下从Ostream中获取char*
- 如何在C中获取char阵列的第一个X元素?提升效果是否有改进的方法
- 从返回int的函数中获取char的正确方法
- 从另一个函数中获取char[]的好方法.用c/c++开始思考
- 从txt文件中获取char并在标准输出C++上进行编写
- 如何获取char数组的列数
- 获取char输入,检查它是否有效,如果无效,清除整个输入
- 如何获取char数组中元素的地址
- Fopen在c++中获取char *错误
- 从 std::string & std::wstring 中获取 char 整数值
- 为什么 'std::string' 的赋值运算符按值而不是 'const' 引用来获取 'char'?