Я вижу, вы упомянули матрицу 8 X 8.Так как вы знаете размерность, вы можете статически выделить 2d массив.В противном случае вам, возможно, придется проанализировать файл один раз, чтобы найти n X m, а затем динамически распределить память соответственно (если вы выделяете память динамически, не забудьте освободить ее!).
Ваш базовый алгоритм должен выглядеть примерно так:
initialize _matrix_
initialize _row_ and _column_ to 0
open the file
read a line
while the currently read line is not an empty line
split the line using comma as a delimiter
initialize the _column_ to zero
for all the elements (in the output of split)
add the element to _matrix_[_row_][_column_]
increment the _column_ by one
increment the _row_ by one
read the next line
close the file
Вам следует позаботиться о таких (ошибочных) условиях, как следующие:
- theCSV-файл не существует (открыть не удается)
- если матрица динамически размещается, то освободить его перед выходом!
- CSV-файл пуст (ноль строк)
- файл csv содержит строки не в формате csv (ошибка синтаксического анализа)
- содержимое файла какого типа?char или int?какой диапазон?(ошибка типа данных)
- что, если имеется более 8 х 8 элементов?игнорировать их?
Пожалуйста, используйте стандартные библиотеки / строковые функции, как указано выше @Dave, и попробуйте алгоритм, который я упомянул в этом посте.