У меня есть строка, которую я пытаюсь напечатать. когда я использовал 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);
}
cout
дает мне "rawname: file" printf
дает мне "rawname:", а затем кучу squiggly символов