Парсинг строки FtpWebRequest ListDirectoryDetails

Предупреждение глоток>

Это - список случайных книг разнообразного качества. В представлении некоторых людей (с некоторым выравниванием), это больше не список рекомендуемых книг. Некоторые перечисленные книги содержат очевидно неправильные операторы или преподают неправильные/вредные методы. Люди, которые знают о таких книгах, могут отредактировать этот ответ, чтобы помочь улучшить его. См. , книжный список C вышел из строя. Что сделать с ним? , и также Удаленный вопрос контролируют 2018 . глоток>

Ссылка (Все Уровни)

  • Язык программирования C (2-й Выпуск) - Brian W. Kernighan и Dennis M. Ritchie (1988). Все еще хорошее, короткое, но полное введение в C (C90, не C99 или более поздние версии), записанный изобретателем C. Однако язык изменился, и хороший стиль C разработал за прошлые 25 лет, и существуют части книги, которые показывают ее возраст.

  • C: Справочник (5-й Выпуск) - Samuel P. Harbison и Guy R. Steele (2002). Превосходный справочник по C, до и включая C99. Это не учебное руководство, и вероятно негодный к новичкам. Замечательно, если необходимо записать компилятор для C, как авторы должны были сделать, когда они запустили.

  • Карманная Ссылка C (O'Reilly) - Peter Prinz и Ulla Kirch-Prinz (2002).

  • comp.lang.c FAQ - Steve Summit. Веб-сайт с ответами на многие вопросы о C.

  • Различные версии стандартов языка C могут быть найдены здесь . Существует интерактивная версия проект C11 стандарта .

  • новый стандарт C - аннотируемая ссылка (Свободный PDF) - Derek M. Jones (2009). "Новый стандарт", упомянутый, является старым стандартом C99, а не C11.

  • Объяснение для Стандарта C99 .

Новичок

Промежуточное звено

  • Объектно-ориентированное программирование с ANSI-C (Свободный PDF) - Аксель-Tobias Schreiner (1993). Код становится немного замысловатым. Если Вы хотите C++, используйте C++.

  • Интерфейсы C и Реализации - David R. Hanson (1997). Предоставляет информацию о том, как определить границу между интерфейсом и реализацией в C универсальным и допускающим повторное использование способом. Это также демонстрирует этот принцип путем применения его к реализации общих механизмов и структур данных в C, таких как списки, наборы, исключения, обработка строк, средства выделения памяти, и т.д. В основном Hanson взял весь код, который он написал как часть создания значок и lcc и вытащил лучшие биты в форме, которую другие люди могли снова использовать для их собственных проектов. Это - модель хорошего C, программирующего использующий методы современного дизайна (включая абстракцию данных Liskov), показывая, как организовать проект рака как набор полезных библиотек.

  • Книга Загадки C - Alan R. Feuer (1998)

  • Стандартная библиотека для C - P.J. Plauger (1992). Это содержит полный исходный код к реализации стандартной библиотеки C89, наряду с обширной дискуссией о дизайне и почему код разработан как показано.

  • 21-й век C: C Подсказки из Новой Школы - Ben Klemens (2012). В дополнение к языку C книга объясняет gdb, valgrind, автоинструменты и мерзавца. Комментарии к стилю найдены в последней части (Глава 6 и вне).

  • Алгоритмы в C - Robert Sedgewick (1997). Дает Вам реальное схватывание реализации алгоритмов в C. Очень ясный и ясный; вероятно, заставит Вас хотеть выбросить все свои другие книги алгоритмов и сохранить этого.

  • Указатели на C - Kenneth Reek (1997).

  • Указатели в C - Naveen Toppo и Hrishikesh Dewan (2013).

  • Решение задач и Проектирование программы в C (6-й Выпуск) - Jeri R. Hanly и Elliot B. Koffman (2009).

  • Структуры данных - Усовершенствованный Подход Используя C - Jeffrey Esakov и Tom Weiss (1989).

  • C, Развязанный - Richard Heathfield, Lawrence Kirby, и др. (2000). Не идеальный, но это стоит промежуточных программистов, практикующих проблемы, записанные в этой книге. Это - хороший подобный поваренной книге подход, предложенный comp.lang.c участниками.

  • современный C — Jens Gustedt (2017). Покрытия C на 5 уровнях (обнаружение, знакомство, познание, опыт, стремление) с начала C к усовершенствованному C. Это покрывает потоки C11 и атомарный доступ, который делают немного других книг и не все компиляторы распознают во всех средах.

Эксперт

Некатегоризированный

  • Существенный C (Свободный PDF) - Nick Parlante (2003). Обратите внимание, что это описывает язык C90 в нескольких точках (, например, , в обсуждении // комментарии и размещение объявлений переменной в произвольных точках в коде), таким образом, это нужно рассматривать с некоторой осторожностью.

  • C Программирование часто задаваемых вопросов: Часто Задаваемые Вопросы - Steve Summit (1995). Это - книга веб-сайта, перечисленного ранее. Это не покрывает C99 или более поздние стандарты.

  • C вкратце - Peter Prinz и Tony Crawford (2005). Превосходная книга, если Вам нужна ссылка для C99.

  • Функциональный C - Pieter Hartel и Henk Muller (1997). Преподает современные практики, которые неоценимы для низкоуровневого программирования с параллелизмом и модульным принципом в памяти.

  • Практика Программирования - Brian W. Kernighan и Rob Pike (1999). Очень хорошая книга для сопровождения K& R. Это использует C++ и Java также.

  • Прерывания C и Ловушки A. Koenig (1989). Очень хороший, но стиль C предшествует стандарту C, который делает его менее рекомендуемым в эти дни.

    Некоторые привели доводы в пользу удаления 'Прерываний и Ловушек' из этого списка, потому что это захватило некоторых людей в делание ошибок; другие продолжают приводить доводы в пользу его включения. Возможно, это должно рассматриваться как 'опытная' книга, потому что это требует, чтобы умеренно обширные знания C поняли то, что изменяется, так как это было опубликовано.

  • Сборка Ваш Собственный Lisp — Daniel Holden (2014). Приятный способ изучить C.

  • MISRA-C - промышленный стандарт, опубликованный и сохраняемый Ассоциацией Надежности программного обеспечения Автомобильной промышленности. Покрытия C89 и C99.

    , Хотя это не книга как таковая, многие программисты рекомендуют читать и реализовать как можно больше ее. MISRA-C был первоначально предназначен как инструкции для важных приложений безопасности, в частности, но он относится к какой-либо области применения, где стабильный, код C без ошибок желаем (кто не хочет меньшего количества ошибок?). MISRA-C становится фактическим стандартом в целой встроенной промышленности и становится все больше популярным даже в других ответвлениях программирования. Существует (по крайней мере) три публикации стандарта (1998, 2004, и текущая версия с 2012). Существует также документ Инструкций по Соответствию MISRA с 2016 и Поправка 1 MISRA C:2012 — Дополнительные Инструкции по безопасности для MISRA C:2012 (опубликованы в апреле 2016).
    Примечание, что часть резкой критики в правилах MISRA не соответствует каждому контексту. Например, направляющее 4.12 динамическое выделение памяти "Состояний не должно использоваться". Это является соответствующим во встроенных системах, для которых разработаны правила MISRA; это не является соответствующим везде. (Компиляторы, например, обычно используют динамическое выделение памяти для вещей как таблицы символов, и обходиться без динамического выделения памяти было бы трудным, если не нелепый.)

  • Заархивированные списки ACCU-рассмотренных книг по [1 147] C Новичка (116 заголовков) с 2007 и Усовершенствованный C (76 заголовков) с 2008. Большинство из них не надеется больше быть на основном сайте, и Вы не можете просмотреть это предметом так или иначе.

Предупреждения

опасаться книг, записанных [1 149] Herbert Schildt . В частности, необходимо избегать C: Полная Ссылка (4-й Выпуск, 2000), известный в некоторых кругах как C: Полная Ерунда.

Также не используют книгу , Позволяют Нам C (16 th глоток> Выпуск, 2017) Yashwant Kanetkar. Многие люди просматривают его как устаревшую книгу, которая преподает Turbo C и имеет много устаревшего, вводящего в заблуждение и неправильного материала. Например, страница 137 обсуждает ожидаемый вывод от printf("%d %d %d\n", a, ++a, a++) и не категоризирует его как [1 152] неопределенное поведение , как он должен.

Изучают C Твердый Путь (2015) Zed Shaw. Книга со смешанными обзорами. критический анализ А этой книги Tim Hentenaar:

Для суммирования моих представлений, которые размечаются ниже, автор представляет материал значительно упрощенным и вводящим в заблуждение способом, целый корпус является связанной путаницей, и некоторые мнения и исследования, которые он предлагает, являются просто неправильными. Я попытался просмотреть эту книгу через глаза новичка, но к сожалению я смещаюсь написанием кода лет опыта в C. Для меня очевидно, что у или автора есть дефектное понимание C, или он сознательно упрощает до такой степени, когда, он на самом деле вводит в заблуждение читателя (намеренно или иначе.)

"Учатся на горьком опыте, что C" не является книгой, которую я мог рекомендовать кому-то, кто и учится программировать и изучает C. Если Вы уже - компетентный программист на некотором другом связанном языке, то он представляет интересную и необычную выставку на C, хотя у меня есть резервирование о частях книги. Jonathan Leffler

Устаревший

, Другие участники , не обязательно зачисленный в истории пересмотра, включают:
Alex Lockwood , Ben Jackson , Пузыри , когти , coledot, Dana Robinson , Daniel Holden , Преобразователь Dervin , dwc, Erci How, Garen, haziz, Johan Bezem , Jonathan Leffler , Joshua Partogi , Lucas, Lundin, Matt K. , mossplix, Matthieu M. , midor, Nietzche-jou, Norman Ramsey , r3st0r3, ridthyself, Robert S. Barnes , Steve Summit , Tim Ring , Tony Bai , VMAtm

10
задан Martin Prikryl 14 October 2016 в 15:33
поделиться

1 ответ

Не уверен, что это еще нужно, но я придумал следующее решение:

Regex regex = new Regex ( @"^([d-])([rwxt-]{3}){3}\s+\d{1,}\s+.*?(\d{1,})\s+(\w+\s+\d{1,2}\s+(?:\d{4})?)(\d{1,2}:\d{2})?\s+(.+?)\s?$",
    RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace );

Группы соответствий:

  1. Тип объекта:
    • d: каталог
    • -: файл
  2. Массив [3] разрешений (rwx -)
  3. Размер файла
  4. Дата последнего изменения
  5. Время последнего изменения
  6. Имя файла / каталога
23
ответ дан 3 December 2019 в 14:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: