1 / 1 / 1
Регистрация: 05.01.2015
Сообщений: 85
1

Возврат каретки

04.10.2016, 11:35. Показов 16848. Ответов 6
Метки нет (Все метки)

Не могу понять зачем в этом коде возврат корретки....
Почему "\n" без "\r" не переводит на новую строку при записи в файл?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.IO;
 
namespace StrWriter
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter file = null;
            string s;
            try
            {
                file = new StreamWriter("test.txt");
                Console.WriteLine("Input a text. For closing file - input "stop."");
                Console.WriteLine(":");
                do
                {
                    s = Console.ReadLine();
                    if (s == "stop") return;
                    string str = s + "\r\n"; //Почему без возврата корретки данные не записываются с новой строки?
                    file.Write(str);
                } while (s != "stop");
                
            }
            catch (IOException exc)
            {
                Console.WriteLine(exc.Message);
                Console.ReadKey();
            }
            finally
            {
                if (file != null) file.Close();
            }
        }
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2016, 11:35
Ответы с готовыми решениями:

Что еще за Возврат каретки?
Что делает символ \r? Что еще за каретка и куда она возвращается?

Узнать о переводе каретки
В общем, имеется такая конструкция, читающая файл, если его дописывают byte Buffer = new byte; ...

Движение каретки по заданному массиву в консоли
Уважаемые программисты, подскажите пожалуйста... Есть одномерный массив на 9 элементов. Цель: ...

Найти в цикле первое вхождение возврата каретки
Найти в Цикле первое вхождение возврата каретки, как это сделать, какой символ означает переход...

6
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
04.10.2016, 11:46 2
With StreamWriter doesn't work \n (C#)
http://stackoverflow.com/quest... t-work-n-c
1
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 7
04.10.2016, 12:19 3
ValeriiK, замени 22-й строке file.Write(str); на file.WriteLine(str); и не нужен будет возврат каретки.
И ещё в строке 15 ошибка:
вместо
C#
1
Console.WriteLine("Input a text. For closing file - input "stop."");
нужно написать
C#
1
Console.WriteLine("Input a text. For closing file - input \"stop\".");
0
Администратор
Эксперт .NET
15055 / 12132 / 4861
Регистрация: 17.03.2014
Сообщений: 24,558
Записей в блоге: 1
04.10.2016, 12:22 4
Лучший ответ Сообщение было отмечено ValeriiK как решение

Решение

Цитата Сообщение от ValeriiK Посмотреть сообщение
Почему "\n" без "\r" не переводит на новую строку при записи в файл?
Потому что в Windows перевод строки это \r\n и Блокнот (с помощью которого ты открывал файл) умеет работать только с "правильным" переводом строки. Если файл открыть в текстовом редакторе (Notepad++, Sublime) который знает что переводы строки бывают и другие, то в них текст будет на разных строках как и полагается.
1
306 / 283 / 102
Регистрация: 06.05.2014
Сообщений: 861
04.10.2016, 12:22 5
Цитата Сообщение от Piip Посмотреть сообщение
нужно написать
Ну вообще-то, там нужно так написать:
C#
1
2
3
Console.WriteLine("Input a text. For closing file - input \"stop\".");
// or
Console.WriteLine(@"Input a text. For closing file - input ""stop"".");
0
5051 / 2668 / 454
Регистрация: 05.10.2013
Сообщений: 7,110
Записей в блоге: 190
04.10.2016, 12:26 6
В некоторых системах используется "\n", а в некоторых "\r\n". Используйте WriteLine, как выше показали или Environment.NewLine:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Sample for the Environment.NewLine property
using System;
 
class Sample 
{
    public static void Main() 
    {
    Console.WriteLine();
    Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line",
                          Environment.NewLine);
    }
}
/*
This example produces the following results:
 
NewLine:
  first line
  second line
  third line
*/
0
1 / 1 / 1
Регистрация: 05.01.2015
Сообщений: 85
04.10.2016, 13:09  [ТС] 7
Спасибо всем за ответы!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2016, 13:09
Помогаю со студенческими работами здесь

Сменить цвет "каретки" в игре при бонусе
Ребята добрый вечер,подскажите как реализовать идею- игра аркада (при разбитии кирпича выпадает...

Замена знака перевода каретки на "\r\n"
Есть string a="5\r\n66\r\n89"; При записи в файл он переводит каретку (что и верно) и получается:...

collection и возврат value
В своей теме попробовал воспользоваться коллекцией. Создал её, назначил листбоксу Tkey. Как...

Возврат к 1-й форме
Есть 2 формы, на второй есть кнопка "назад", какой код нужен, чтобы 2-я форма закрывалась, а 1я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru