una samsung razones puedo para interno formatear duro disco desde debe cuando computadora como celular c++ qt string-formatting

c++ - samsung - ¿Cómo formatear un QString?



no puedo formatear mi disco duro (3)

Puede usar QString.arg como este

QString my_formatted_string = QString("%1/%2-%3.txt").arg("~", "Tom", "Jane"); // You get "~/Tom-Jane.txt"

Este método es preferido sobre sprintf porque:

Cambiar la posición de la cadena sin tener que cambiar el orden de sustitución, por ejemplo

// To get "~/Jane-Tom.txt" QString my_formatted_string = QString("%1/%3-%2.txt").arg("~", "Tom", "Jane");

O bien, cambiar el tipo de argumentos no requiere cambiar la cadena de formato, por ejemplo

// To get "~/Tom-1.txt" QString my_formatted_string = QString("%1/%2-%3.txt").arg("~", "Tom", QString::number(1));

Como puede ver, el cambio es mínimo. Por supuesto, generalmente no necesita preocuparse por el tipo que se pasa a QString :: arg () ya que la mayoría de los tipos están sobrecargados correctamente.

Un inconveniente sin embargo: QString :: arg () no maneja std :: string. Tendrá que llamar a: QString :: fromStdString () en su std :: string para convertirlo en un QString antes de pasarlo a QString :: arg (). Intente separar las clases que usan QString de las clases que usan std :: string. O si puedes, cambia a QString por completo.

ACTUALIZACIÓN: los ejemplos se actualizan gracias a Frank Osterfeld.

ACTUALIZACIÓN: los ejemplos se actualizan gracias a alexisdm.

Me gustaría formatear una cadena para la etiqueta Qt, estoy programando en C ++ en Qt.

En ObjC escribiría algo como:

NSString *format=[NSString stringWithFormat: ... ];

¿Cómo hacer algo así en Qt?


Puede utilizar el método sprintf ; sin embargo, se prefiere el método arg porque es compatible con Unicode.

QString str; str.sprintf("%s %d", "string", 213);