Comment écrire le vecteur des valeurs dans un fichier
J'ai un grand vecteur.
Les moyens que j'utilise multiplier le moment de l'exécution du programme extrêmement. La première est d'écrire toutes les valeurs d'une chaîne de caractères tels qu'ils sont calculés à l'aide de stringstreams
et plus tard écrire la chaîne de caractères dans un fichier. L'autre méthode est de faire une longue chaîne de caractères après le fait et de l'écrire dans le fichier. Cependant, ces deux sont très lents.
Est-il un moyen de simplement écrire le vecteur des valeurs dans le fichier texte immédiatement avec des sauts de ligne?
"Est-il un moyen de simplement écrire le vecteur des valeurs dans le fichier texte immédiatement, sans sauts de ligne?" - Vous avez besoin, avec ou sans sauts de ligne??
Ça me rend heureux de voir mon programme d'achever ce qui, auparavant, a pris 3 heures à 5 minutes XD
Ça me rend heureux de voir mon programme d'achever ce qui, auparavant, a pris 3 heures à 5 minutes XD
OriginalL'auteur TimeCoder | 2011-06-20
Vous devez vous connecter pour publier un commentaire.
À l'aide de
std::ofstream
,std::ostream_iterator
etstd::copy()
est la façon habituelle de faire. Voici un exemple avecstd::string
s à l'aide de C++98 syntaxe (la question a été posée avant C++11):Vous écrivez "la question a été posée avant C++11" - est-il un autre moyen avec le C++11 pour ce faire?
OriginalL'auteur Johnsyweb
En supposant que vous avez le C++11:
OriginalL'auteur Phlox Midas
J'ai peut-être raté quelque chose, mais ce qui est faux avec:
Qui évite d'avoir à faire potentiellement quadratique de concaténation de chaîne, ce qui je suppose est ce qui tue votre moment de l'exécution.
v
est votre contenant des vecteurs.X
est le type qui y sont contenues.Excellent, tout ce qu'il faut!
OriginalL'auteur Peter
Vous pouvez utiliser std::copy et std::ostream_iterator.
OriginalL'auteur Eugen Constantin Dinca