J'ai ce code quand les gens ferment le jeu pour sauver tous leurs animaux de compagnie actuellement sélectionnés (c'est pour l'école ne vous inquiétez pas comment je l'ai appelé "Squirtle", pas de problèmes de copyright ici) . Le code en question est:StreamWriter ne pas écrire tous les caractères
using (StreamWriter sw = File.CreateText(@"..\..\pets.txt"))
{
sw.AutoFlush = true;
foreach (Pet p in petList)
{
sw.Write(p.PetID + ' ');
sw.Write(p.Name + ' ');
sw.Write(p.HP + ' ');
sw.Write(p.Type + ' ');
sw.Write(p.Level + ' ' );
sw.Write(p.Rarity + ' ');
sw.WriteLine(p.Speed);
}
}
les virgules étaient des espaces et je viens ajouté le autoflush pour essayer de résoudre le problème, mais au fond, peu importe combien de fois je l'exécuter, les deux premiers, deux suivants, et dernier 3 morceaux de données n'ont pas d'espaces entre eux, par exemple: 32SQUIRTLE 77AQUATIC 41930. cela se produit chaque fois que je l'exécute et je me demande si quelqu'un sait pourquoi il fait cela? Je peux utiliser n'importe quel délimiteur aussi si l'espace et la virgule sont connus avec StreamWriter ou quelque chose.
si vous remplacez ' ''' avec '" "' résout-il votre problème? –
Je regarde juste après que l'écrivain de flux s'exécute et il ressemble à ça, je vais essayer des guillemets et voir si elle le corrige –