Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StreamWrite и \n 
V
    Опции темы
derek
Дата 4.8.2008, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



вместо того чтобы перенести строку, StreamWriter кодирует "\n" в какой-то непонятный символ

Код

 FileStream file = new FileStream("test.txt", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter sw = new StreamWriter(file);
            sw.Write("0000 1111 2222 3333" + "\n"+ "AAAA BBBB CCC DDDD");
            sw.Close();
            file.Close();


test.txt:
"0000 1111 2222 3333 oAAAA BBBB CCC DDDD"

гугл выдает много способов решения проблемы, но мне что-то ни один сразу не помог.
Кто сталкивался, помогите пожалуйста.


PM MAIL   Вверх
Idsa
Дата 4.8.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 14
Всего: 62



derek, замените "\n" на "\r\n". В Windows перевод на следующую строку - комбинация \r и \n.
А еще лучше вместо "\r\n" использовать Environment.NewLine. Тогда в случае компиляции под другими ОСями (Mono жив! smile ) удастся избежать ненужных проблем (если не ошибаюсь, в Линуксе для перевода строки используется \n, а в Маках - \r\n).

Это сообщение отредактировал(а) Idsa - 4.8.2008, 21:59


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
inkognitum
Дата 4.8.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 11.8.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: 1



Код


            FileStream file = new FileStream(@"c:\test.txt", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter sw = new StreamWriter(file);
            sw.Write(@"0000 1111 2222 3333" + ((char)13)+((char)10) + @"AAAA BBBB CCC DDDD");
            sw.Close();
            file.Close();

            


или используйте WriteLine();

Код

            sw.WriteLine(@"0000 1111 2222 3333");
            sw.WriteLine(@"AAAA BBBB CCC DDDD");
 


Добавлено через 1 минуту и 45 секунд
Цитата(Idsa @ 4.8.2008,  21:58)
derek, замените "\n" на "\r\n". В Windows перевод на следующую строку - комбинация \r и \n.
А еще лучше вместо "\r\n" использовать Environment.NewLine. Тогда в случае компиляции под другими ОСями (Mono жив! smile ) удастся избежать ненужных проблем (если не ошибаюсь, в Линуксе для перевода строки используется \n, а в Маках - \r\n).

Idsa, опередил! ;))
--------------------
"Убить всех людей!" (с) Bender
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.