Строка - это просто массив символов:
char exampleString[6] = "Hello";
printf( "%c\n", exampleString[0]); // Prints 'H'
printf( "%c\n", exampleString[1]); // Prints 'e'
printf( "%c\n", exampleString[2]); // Prints 'l'
printf( "%c\n", exampleString[3]); // Prints 'l'
printf( "%c\n", exampleString[4]); // Prints 'o'
На самом деле printf( "%c\n", exampleString[5]);
печатает ... ничего, потому что (длина + 1) -й символ строки является нулевым символом (0x00);терминатор строки.
Поскольку вы определили двумерный массив символов, каждая строка является строкой. Поскольку вы храните все символы в индексе 0 (вы никогда не увеличиваете переменную i), arr[0]
будет содержать в точности строку «Hello». Чтобы получить доступ к первому символу строки, вы можете напечатать arr[0][0]
, но я предлагаю просто объявить одномерный массив. Конечно, убедитесь, что массив может соответствовать максимальному размеру файла (dim = maxLen + 1), иначе вы будете писать в гиперпространстве .