Kezdőoldal » Számítástechnika » Programozás » C# fájl kezelésnél mi ez a hiba?

C# fájl kezelésnél mi ez a hiba?

Figyelt kérdés

itt a képernyőmentés:

[link]

Szerintem az a hiba hogy túl nagy a fájl.

Ha ez a hiba akkor hogy tudok nagyobb file-okat olvasni?



2014. dec. 26. 02:06
 1/4 anonim ***** válasza:
A hiba egy tömb túlindexelése. Ezen belül egy string objektum karaktertömbjéről van szó. Ha esetleg a kódot is megosztanád, akkor ennél tovább nem kéne találgatni. Túl nagy fájl meg nincs, csak rossz fájlkezelés.
2014. dec. 26. 02:50
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;


namespace SzóSzámlálás

{

class Program

{

static void Main(string[] args)

{

int sorszam = 0, i1 = 0, i2 = 0, szamlalo = 0;

string sor = "", talalat = "";

Console.WriteLine("Gépeld be a file nevét:");

string fajl = Console.ReadLine();

Console.WriteLine("Gépeld be a keresendő karakter sorozatot:");

string szo = Console.ReadLine();


StreamReader olvas = new StreamReader(fajl);

do

{

do

{

sor = olvas.ReadLine();

i2 = 0;

do

{

talalat = "";

for (i1 = 0; i1 < szo.Length; i1++)

{

talalat = talalat + Convert.ToString(sor[i2 + i1]);

}

i2++;

}

while (szo != talalat && i2 - 1 + szo.Length != sor.Length);

sorszam++;

}

while (szo != talalat && olvas.Peek() != -1);

if (szo == talalat)

{

szamlalo++;

Console.WriteLine("Találat: sor=" + (sorszam - 1) + " oszlop=" + (i2 - 1));

}

}

while (olvas.Peek() != -1);

olvas.Close();


Console.WriteLine();

if (0 < szamlalo)

{

Console.WriteLine("A szó enyiszer szerepel a file-ban: " + szamlalo);

}

else

{

Console.WriteLine("A file-ban nem található a(z) '" + szo + "' karaktersorozat.");

}

Console.ReadLine();

}

}

}

2014. dec. 26. 02:52
 3/4 anonim ***** válasza:

Anélkül, hogy lefuttatnám, szerintem a "sor[i2 + i1]" rész szalad túl az indexeléssel, főleg, hogy első látásra máshol nem is látok indexelést. De egyébként ott a hiba, ahol az exception feldobásakor a debugger megállítja a programot.


Valószínűleg akkor indexel túl, ha a sor rövidebb, mint a keresett szó. Lehet itt üres sorra, sortörésre is gondolni.

2014. dec. 26. 02:58
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszi a segítséget.
2014. dec. 26. 03:04

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!