C++ caractère de Nouvelle ligne lors de la sortie vers un fichier texte
C'est juste une question rapide. Mais je suis en train de données de sortie vers un fichier, qui fonctionne très bien.
Cependant, je suis aussi en train d'essayer de mettre en œuvre une nouvelle ligne à l'endroit approprié de sorte que les données, des tirages sur des lignes individuelles.
C'est comment mon code ressemble:
main.cpp
Writer w("Output.txt");
w.writeString("The number of words in the script are: ");
w.writeInt(count);
w.writeEol();
w.writeString("The number of Officers in the script are: ");
w.writeInt(ofCount);
w.writeEol();
w.writeString("The number of Courtiers in the script are: ");
w.writeInt(cCount);
w.close();
Writer.cpp
void Writer::writeEol()
{
out << "\n" << endl;
}
Mon code doit être mise en œuvre de cette façon que l'ensemble du système est construit autour d'elle comme ça.
Donc ma question est, comment pourrais-je régler mon Écrivain::writeEol() pour ajouter une nouvelle ligne dans mon fichier de sortie?
Mon fichier de sortie actuellement vient comme ceci:
The number of words in the script are: 32339The number of Officers in the script are: 2The number of Courtiers in the script are: 9
Toute aide est grandement appréciée. 🙂
- Il n'y a pas de question.
- je ne peux pas voir la question
- Eh bien, vous avez le code pour
writeEol
. Ce n'est pas de travail? - Qu'est-ce que
out
? Comment déclarer et initialiser? Comment voulez-vous afficher le fichier de sortie? - vous devez également nous montrer comment les
out
flux a été ouvert, et ce de plate-forme/OS sont ce que vous travaillez avec. Il ressemble à un binaire/traduction du texte d'incompatibilité
Vous devez vous connecter pour publier un commentaire.
Sans une bonne question je ne peux que deviner ce que vous essayez d'apprendre, alors n'hésitez pas à mettre à jour votre "question" avec une réelle question:
Vous êtes essentiellement l'écriture de deux sauts de ligne dans le fichier, en fonction de l'encodage (c'est à dire Windows ou Unix sauts de ligne), vous ne verrez pas la différence:
std::endl
inclura automatiquement le bon personnage pour créer un saut de ligne. Il n'y a pas besoin d'écrire"\n"
ainsi.Aussi, vous n'avez pas à passer
std::endl
au courant, à moins que vous voulez vraiment faire un saut de ligne à la position spécifique:Garder à l'esprit que, selon votre éditeur vous risquez de ne pas voir tous les sauts de ligne, par exemple le bloc-notes Windows ne montre pas un saut de ligne avec seulement
\n
. Il va au lieu d'apparaître comme un personnage invisible. Pour de véritables sauts de ligne qui sont acceptées, vous auriez été\r\n
. En comparaison, l'éditeur Open Source Notepad++ accepte et affiche les deux types de sauts de ligne.std::endl
et\n
est une chasse d'eau.writeEol()
ci-dessus, je suppose James pensestd::endl
sera juste de la chasse ou d'une certaine manière la fin du cout de la ligne, parce qu'il écrit"\n"
ETstd::endl
, qui n'a pas réellement de sens pour moi si vous ne voulez qu'un seul saut de ligne/EOL.\n
en place destd::endl
, que vous ne seriez pas en forçant une couleur à chaque ligne. Quel effet sa a est discutable, de l'esprit.Dans votre
writeEol()
méthode, vous sortie à la fois un retour à la ligne (\n
), et vous écrivez unestd::endl
. Ces deux éléments ont pour effet d'écrire une nouvelle ligne, qui est ce que vous voulez. Cependant, lastd::endl
sera également vider le ruisseau, qui dans certains cas n'est pas souhaitable (il pourrait provoquer de ralentissement si le flux est rincé après chaque ligne).Je pense que votre code à faire ce que vous voulez (mais avec deux retours à la ligne), mais comme shuttle87 unis, vous avez seulement besoin d'un
\n
à la fin de chaque ligne pour obtenir l'effet souhaité.