Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Форматный ввод-вывод на C#

2.2K
21 сентября 2007 года
0cool
54 / / 15.06.2006
Здравствуйте.
У меня возникла потребность в написании функции, которая считывает
некоторые цифры(строка цифр, разделенных пробелами) из файла.
В C++ есть функции, которые поддерживают форматный ввод/вывод.

Подскажите, пожалуйста, может такие есть и С#.
5
22 сентября 2007 года
hardcase
4.5K / / 09.08.2005
Можно воспользоваться регулярным выражениями. Это наиболее общее решение для простого и не очень разбора текстовых файлов.
Код:
using System;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication2 {
    class Program {

        private static Regex fmt = new Regex(@"^\s*(?<param1>\d+)\s+'(?<param2>(\d|\s|\w)*)'\s*$",
            RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);

        static void ScanData(string line, out int param1, out string param2) {
            Match m = fmt.Match(line);
            if (m.Success) {
                param1 = Convert.ToInt32(m.Groups["param1"].Value);
                param2 = m.Groups["param2"].Value.ToString();
            } else {
                param1 = 0;
                param2 = "";
            }
        }

        static void Main(string[] args) {
            // пример строки ввода:
            // 1 'ewertert23423'
            string s = Console.ReadLine();
            int p1;
            string p2;
            ScanData(s, out p1, out p2);
            Console.WriteLine("param1: {0}, param2: '{1}'", p1, p2);
            Console.ReadKey();
        }
    }
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог