我有一个我想要打印的字符串.当我使用cout它时,它输出完美但是使用printf它会损坏它.
这是代码:
int main ( int argc, char *argv[] )
{
// Check to make sure there is a single argument
if ( argc != 2 )
{
cout<<"usage: "<< argv[0] <<" <filename>\n";
return 1;
}
// Grab the filename and remove the extension
std::string filename(argv[1]);
int lastindex = filename.find_last_of(".");
std::string rawname = filename.substr(0, lastindex);
cout << "rawname:" << rawname << endl;
printf("rawname: %s", rawname);
}
Run Code Online (Sandbox Code Playgroud)
该cout给我"rawname:文件"
中printf给了我"rawname:",然后一串字符的波浪