Traitement de chaîne crus et cuits en C ++

Il ya beaucoup de façons de définir littéraux. Bien sûr, le genre d'information qui affecte un littéral est la méthode la plus courante. Cependant, les littéraux peuvent également être crus ou cuits. UN brut littéral reçoit une entrée provenant de la source de la demande et ne l'interprète pas en aucune façon. Ce que cela signifie est que l'information est interprétée caractère par caractère, exactement comme l'expéditeur l'a présenté.

Cuit littéraux interprètent l'entrée de l'expéditeur et d'effectuer automatiquement les conversions nécessaires pour rendre les données utilisables pour le destinataire.

La façon la plus facile de voir ce principe en action est à travers un exemple. La RawAndCooked exemple illustré montre la technique utilisée pour créer le traitement soit cru ou cuit chaîne.




#comprendre using namespace std-int main () {auto cuit = "(Bonjour r n)" - auto Raw = R "(Bonjour r n)" - cout lt; lt; Cuit lt; lt; endl-cout lt; lt; Brut lt; lt; endl-}

La plupart du temps quand vous voyez le r n combinaison, vous savez que la sortie de l'application de la volonté d'un retour chariot et la combinaison de saut de ligne. Cette méthode est cuit de traitement d'une chaîne.

La chaîne est interprétée et des caractères d'échappement converti en des caractères de contrôle (caractères qui sont normalement considérés comme des commandes, plutôt que des données, telles que le retour chariot). Cependant, remarquez comment la Brut chaîne est créée. La R en face de la chaîne indique au compilateur pour créer la variable sans interpréter le contenu.

Voici le résultat que vous voyez dans cet exemple:

 (HelloThere) Bonjour r n

Notez que le formulaire cuits fait sortie de la parenthèse, mais la forme brute ne fait pas. La parenthèse est nécessaire dans le cadre de l'entrée de forme brute. Comme vous pouvez l'imaginer, la forme cuite délivre le r n Combinaison de caractères de contrôle, tandis que la forme brute sort les caractères réels.


» » » » Traitement de chaîne crus et cuits en C ++