В настоящее время я создаю карточную игру, и все работает отлично, когда я пишу вывод на консоль. Однако, когда я пишу в файл, костюм, связанный с каждой карточкой, становится странным набором из 4 разных символов. Вместо того, чтобы печатать символы Heart, Diamond, Club и Spade, как определено в таблице ASCII, файл создает 4 разных символа, которые включают в себя - и |. Остальные два персонажа выглядят как крошечные супер-скриптовые L's.C# неправильный вывод текстового файла
public enum SUIT { HEART = 0, DIAMOND = 1, CLUB = 2, SPADE = 3 };
public enum VALUE { NINE = 0, JACK = 1, QUEEN = 2, KING = 3, TEN = 4, ACE = 5 };
public static string printCard(PinochleCard theCard)
//This card game uses a set of 5 card denominations
{
string cardS = "";
switch (theCard.cardValue)
{
case VALUE.ACE:
cardS += 'A';
break;
case VALUE.TEN:
cardS += "10";
break;
case VALUE.KING:
cardS += 'K';
break;
case VALUE.QUEEN:
cardS += 'Q';
break;
case VALUE.JACK:
cardS += 'J';
break;
case VALUE.NINE:
cardS += '9';
break;
}
cardS += (char)(theCard.suit + 3); // +3 converts to heart, diamond, club, spade in
return cardS.PadRight(4); // the console but not for files
}
Далее я вызываю эту функцию в цикле для печати руки пользователя.
Спасибо за помощь!
Очевидно, что это ошибка в коде. Конечно, поскольку вы не предоставили код, мы не можем вам помочь. Пожалуйста, разместите свой код точно так, как есть. –
где код? скорее всего, вы пишете Юникод :) –
Как вы выводите символы сердца, бриллианта, клуба и лопаты? И какой редактор вы используете для просмотра файла? Я не верю, что у Стандартного ASCII есть коды для них, поэтому неудивительно, что вы не можете их правильно увидеть после просмотра файла. – Sahand