|
|
|
Forum Guru
      
участник
Last Login: 06.12.2007 15:50
Сообщ.: 63,
Visits: 589
|
|
Часто нужно чтение из форматированного текстового файла в некий массив структур. Пусть например дан файл dan.txt 1 “Иванов” 3 “Петров” а в программе объявлена структура Structure MyStruct Dim N As Integer 'номер Dim FIO AS String Dim price As Single End Structure Dim str() as MyStruct Как лучше и надёжнее провести чтение в массив структур? Вроде в VB NET не форматированного ввода, Если использ класс StringReader и метод ReadLine –возникает задача разбора считанной строки с пом функции Split а затем переписыванием типа Dim f As StreamReader = File.OpenText("dan.txt") Dim ar(2) As String While f.Peek <> -1 I=i+1 Redim str(i) s = f.ReadLine ar=Split(s, " ") str(i).N=Convert.ToInt(ar(0)) str(i).FIO=ar(1) str(i).price=Convert.ToSingle(ar(2)) i = i + 1 End While Всё это довольно долго, ошибки могут возникнуть и при выполнении Split И при преобразовании в целые и веществ типы Нельзя ли как-то попроще? В C++ аналогичную роль играла fscanf
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Поддержки форматированнового ввода/вывода в .NET увы нет. В качестве замены можно использовать сериализацию или искать в инете класс/функцию аналогичную scanf из C++.
|
|
|
|
|
Forum Guru
      
участник
Last Login: 06.01.2008 10:33
Сообщ.: 70,
Visits: 678
|
|
| Зачем тебе плоские файлы? используй XML.
|
|
|
|