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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Считывание текстового файла в массив 
V
    Опции темы
okaton
Дата 1.10.2007, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброго времени суток. 
Помогите! Как в C# можно считать данные из текстового файла в массив типа int. Не могу! уже бьюсь лбом о монитор! smile 

PM MAIL   Вверх
zaver
Дата 1.10.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



если ты хочешь считать файл:
Код

using System.IO;
FileStream fs=new FileStream(@"c:\....\mytxt.txt",FileMode.OpenOrCreate);
int b=fs.ReadByte();
string text="";
while(b>=0)
{
text+=char.Char.ConvertFromUtf32(b);
b=fs.ReadByte();
}
//теперь в text находится файл ввиде строки

ну если например в текстовом файле перечислены числа типа int в каждой новой строке (тк я тебя понял)
то:
Код

string[] strs=text.Split("\r\n", StringSplitOptions.None);
int[] output=new int[strs.Length];
for (int i=0; i<strs.Length; i++)
 output[i]=int.Parse(strs[i]);
//теперь в output массив чисел

PM MAIL WWW ICQ Skype YIM MSN   Вверх
okaton
Дата 1.10.2007, 21:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



zaver, Спасибо! 


не работает, 

Код

string[] strs = text.Split("\r\n", StringSplitOptions.None);


ошибки выдает

Цитата

Zhe best overloaded method match for 'string.Split(params char[])' has some invalid arguments    
Argument '1': cannot convert from 'string' to 'char'
Argument '2': cannot convert from 'System.StringSplitOptions' to 'char'



Мне нужно заполнить двумерный массив [9, 20] из тектового файла
в файле 10 строк, с 1 строки по 9 забиты числа (20 столбцов), как правило числа разделены пробелом.
В последней 10 строке всякая лабуда написана с применением текста и цифр, ее считывать не надо

Это сообщение отредактировал(а) okaton - 1.10.2007, 21:15
PM MAIL   Вверх
okaton
Дата 1.10.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



zaver, я немного подкорректировал

Код

char[] seps = { ' ', '\r', '\n' };
string[] strs = text.Split(seps, StringSplitOptions.None);


И вроде бы все ничего, возникли две трудности
в массиве strs возникают, не то что пустые строки а вот => ""
и еще как мне остановить перечисление по окончанию массива

у меня сейчас вот так
Код

FileStream fs = new FileStream("mytxt.txt", FileMode.OpenOrCreate);
int b = fs.ReadByte();
string text = "";
while (b >= 0)
{
      text += char.ConvertFromUtf32(b);
      b = fs.ReadByte();
}            
char[] seps = { ' ', '\r', '\n' };
string[] strs = text.Split(seps, StringSplitOptions.None);
int[] output = new int[strs.Length]; int q = 0;
for (int i = 0; i < strs.Length; i++)
{                
       for (int m = 0; m < 9; m++) 
      {
              for (int e = 0; e < 20; e++) 
              {
                      Ins_Tab.I_Tab[1][m, e] = int.Parse(strs[i]);
               }
      }
}


Это сообщение отредактировал(а) okaton - 1.10.2007, 22:33
PM MAIL   Вверх
zaver
Дата 1.10.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



тоже норм, чтобы не возникали пустые строки используй StringSplitOptions.RemoveEmptyEntries - это будет удалять пустые строки, чтобы работало со строкой надо так: 
Код

string[] strs = text.Split(new strings[]{"\r\n"}, StringSplitOptions.None);

PM MAIL WWW ICQ Skype YIM MSN   Вверх
okaton
Дата 2.10.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



zaver, Спасибо большое, сейчас все работает как нужно smile 

Это сообщение отредактировал(а) okaton - 2.10.2007, 11:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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