Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Чтение с файла. Помогите найти ошибку.

Страниц (1): [1]
 

1. Nexur - 07 Февраля, 2014 - 10:36:50 - перейти к сообщению
Есть файл h.txt с цифрами от 1 до 5.
CODE:
1111111511111111111121212111211112121212121212122221222222252222221222212121212121212121212222222221212121211121111111111111111111212121222222121221111111121111121212121222222222222222222222121211212121121212121


Считываю в массив int h[200] таким образом:
CODE:

char pr_с;
int Max = 0;

//Чтение по символу
if (fopen ("C:\h.txt", "r")!=0)//открываем файл для чтения "r"
{//если открылся
l2:if (fread(pr_с)!= 0)
{
Max++;
h[Max] = formatsn(pr_с);
goto l2;
}
fclose();//закрываем файл
}


Для проверки правильно ли все считал записываю массив h в тестовый файл:
CODE:
if (fopen ("C:\Test.txt", "w")!=0)
{
for (int i=1; i<Max + 1;i++)
{

fwrite(hod[i]);
}
fclose();//закрываем файл

}

На Тестовом файле такой результат:
CODE:
111121212121

Где ошибка? Когда в h.txt мало цифр все правильно считывается.
2. Kibor - 07 Февраля, 2014 - 13:07:32 - перейти к сообщению
char h[999999];
int Max = 0;

if (fopen ("C:\h.txt", "r")!=0)
{
l2:if (fread(h[Max])!= 0)
{
Max++;
goto l2;
}
fclose();
}









if (fopen ("C:\Test.txt", "w")!=0)
{
for (int i=0; i<Max;i++)
{

fwrite(h[i]);
}
fclose();
}


так тож

 Цитата:
char h[999999];
int Max;

if (fopen ("C:\h.txt", "r")!=0)
{
for (Max=0; fread(h[Max])!=0;Max++){}
fclose();
}









if (fopen ("C:\Test.txt", "w")!=0)
{
for (int i=0; i<Max; i++) fwrite(h[i]);
fclose();
}

Powered by ExBB FM 1.0 Final