Файл прочитан?
int grad[2][10]; int handle = FileOpen("gradatie.txt", FILE_BIN|FILE_READ); if (handle == -1) { Print(GetLastError()); Print("handle = ", handle); } else { FileReadArray(handle, grad, 0, 10); FileClose(handle); }
Файл прочитан?
ошибка исчезла, но данных в масиве так и не появилось. ниже код как я это проверяю:
int grad[2][10]; int handle = FileOpen("gradatie.txt", FILE_BIN|FILE_READ); if (handle == -1) { Print(GetLastError()); Print("error=", GetLastError()); } else { Print("handle=", handle); FileReadArray(handle, grad, 0, 10); FileClose(handle); } for (int i=0;i<=2;i++) for (int j=0;j<=10;j++) Print("gradatie= ",gradatie[i][j]);
при просмотре журнала имею значение handle=1, а все gradatie= 0. Учитывая что в файле есть данные, это означает, что данные просто напросто не записываются в масив. Может быть у меня терминал глючит?
или может быть перейти на CSV?
попробуйте. только вначале посмотрите что МТ подразумевает под форматом CSV.
я думаю, важен будет разделитель (запятая или точка-с-запятой - нужно смотреть конкретику)
int grad[2][10]; int handle = FileOpen("gradatie.csv", FILE_CSV|FILE_READ,';'); if (handle == -1) { Print(GetLastError()); Print("error=", GetLastError()); } else { Print("handle=", handle); FileReadArray(handle, grad, 0, 10); FileClose(handle); } for (int i=0;i<=2;i++) for (int j=0;j<=10;j++) Print("gradatie= ",gradatie[i][j]);
без изменений. сделал вот так. файл gradatie.csv прикрелен.
но в журнале появилась еще и такая запись: attempt to read binary data from a CSV file
1) массив вы можете зачитать только из бинарного файла.
2) бинарник вы ручками не создадите, или предварительно создаете в мокле цифровой массив и пишете его в бинарный файл а потом читаете, или хекс редактором .
3) из текстового (.csv) файла вы можете прочитать или последовательно по 1 элементу, передвигая при этом указатель, или всю строку до разделителя.
решение :
1) пишете ручками . или в экселе текстовый файл с разделителями между элементами
2) открываете файл с неправильным разделителем, и читаете файл в строчный массив построчно ( в таком случае строка будет прочитана до конца (перевода каретки) )
3) открываете строчный массив и парсите его поэлементно в бинарный массив.
Ребята, расширение это просто часть имени файла! Там может лежать, что угодно.
Расширение нужно только для автоматической ассоциаций файлов.
Пусть shibzik скажет, что там у него.
расширение здесь не при чем, чел хочет зачитать текстовый файл в массив одним махом и потом работать с массивом цифровым (десятичным хекс ) ну не знаю, та вот хрен это ему удастся...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
здравствуйте!
помогите пожалуйста:
масив двухмерный. постоянно выдает 4099-конец файла. пример файла который я хочу считать находится в приложении