Hello,
I would like to know how to format strings in C++ like the string.Format from C#. I think sprintf it is only usable with chars, which is not the case. I tried boost with the following code:
But no success, as I got the following errors:Code:const std::string ProcInfoParser::statmPath = "/proc/%1%/statm";
void ProcInfoParser::gatherMemoryUsage(int _processPid) {
std::string path;
cout << boost::format("/proc/%1%/statm") % _processPid;
std::string data;
data = parseData(path);
return;
}
How should I proceed?Code:../src/parser/ProcInfoParser.cpp: In member function ‘void ProcInfoParser::gatherMemoryUsage(int)’:
../src/parser/ProcInfoParser.cpp:32: error: no matching function for call to ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(boost::basic_format<char, std::char_traits<char>, std::allocator<char> >&)’
/usr/include/c++/4.4/bits/basic_string.tcc:325: note: candidates are: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::append(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.4/bits/basic_string.tcc:342: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::append(const std::basic_string<_CharT, _Traits, _Alloc>&, typename _Alloc::rebind<_CharT>::other::size_type, typename _Alloc::rebind<_CharT>::other::size_type) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.4/bits/basic_string.tcc:298: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::append(const _CharT*, typename _Alloc::rebind<_CharT>::other::size_type) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.4/bits/basic_string.h:863: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::append(const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.4/bits/basic_string.tcc:281: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::append(typename _Alloc::rebind<_CharT>::other::size_type, _CharT) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
make: *** [src/parser/ProcInfoParser.o] Error 1
Pedro