Я пытаюсь создать массив «строк» фиксированной длины в C, но у вас были небольшие проблемы. Проблема, которую я испытываю, заключается в том, что я получаю ошибку сегментации .Как создать массив строк с фиксированной длиной в C?
Цель моей программы: Я хотел бы задать строки массива по индексу, используя данные, считанные из текстового файла. Вот это логи моего текущего кода (я прошу прощения, что я не мог добавить весь свой код, но это довольно длительный, и, скорее всего, просто вызвать путаницу):
//"n" is set at run time, and 256 is the length I would like the individual strings to be
char (*stringArray[n])[256];
char currentString[256];
//"inputFile" is a pointer to a FILE object (a .txt file)
fread(¤tString, 256, 1, inputFile);
//I would like to set the string at index 0 to the data that was just read in from the inputFile
strcpy(stringArray[i], ¤tString);
Вы объявляете 'stringArray' как массив указателей' n' для массива из 256 символов. Это не звучит ... «нормально». –
Может быть, он уже здесь ответил? [C Программа: путаница новичков при работе с массивами строковых символов] (http://stackoverflow.com/questions/10055946/c-program-newbie-confusion-on-working-with-character-string-arrays) – jayant
@JoachimPileborg Да , Я обнаружил, что это тоже немного странно. Это было основано на втором ответе здесь: http://stackoverflow.com/questions/1088622/how-do-i-create-an-array-of-strings-in -c – user3495690