Официальный сайт студ.городка НГТУ
Программирование и БД » [C#] Работа с файлами 

#1  01.05.10 19:56

[C#] Работа с файлами

В файл записана матрица, разделитель пробел, нужно считать её для последующей обработки.
Как реализовать это на шарпе? На СИ выглядит примерно так:

Код: C:

#include <stdio.h>
 
int main(){
     FILE *f=fopen("Имяфайла","r");
 
 
 
     double *Matrix=new double[1024*1024];
 
     int i,j;
     for(i=0;i<1024;i++)
          for(j=0;j<1024;j++)
               fscanf(f,"%lf",Matrix+(i*1024+j));
 
     fclose(f);
 
     delete[] Matrix;
     return 0;
}

Исправлено Himik (01.05.10 19:57)

Offline

#2  01.05.10 21:41

Re: [C#] Работа с файлами

Код: csharp:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        using (StreamReader reader = new StreamReader("Имяфайла", Encoding.GetEncoding(1251)))
        {
            double[] Matrix = new double[1024 * 1024];
 
            int i = 0, j;
            while(!reader.EndOfStream)
            {
                string[] parts = reader.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                for (j = 0; j < parts.Length; j++)
                {
                    Matrix[i * 1024 + j] = double.Parse(parts[j]);
                }
                i++;
            }
        }
    }
}

Offline

#3  02.05.10 19:00

Re: [C#] Работа с файлами

Большое спасибо

Offline

#4  04.05.10 04:37

Re: [C#] Работа с файлами

var lines = File.ReadAllLines("file.txt");
var i = 0;
foreach (var line in lines)
{
........
foreach (var number in line.Trim().Split(' '))
{
................
}

i++;
}

Offline

Программирование и БД » [C#] Работа с файлами 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.044 сек.
Выполнено 11 запросов.