Это мой первый вопрос, задающий вопрос здесь, поэтому я постараюсь сделать все возможное. Я не так хорош в C, я только в программировании на промежуточном уровне.Поиск и чтение текстового файла
Я пытаюсь написать программу, которая читает файл, который я получил. Но у меня есть поиск слова, а затем сохраните слово после него в массив. То, что я имею сейчас, это
for(x=0;x<=256;x++){
fscanf(file,"input %s",insouts[x][0]);
}
В файле есть строки, которые говорят «вход A0;» и я хочу, чтобы он сохранил «A0» для инсайтов [x] [0]. 256 - это просто номер, который я выбрал, потому что я не знаю, сколько в нем может иметься в текстовом файле.
меня insouts объявлен:
char * insouts[256][2];
В чем проблема? Что не работает? –
он не сохранит «A0» в массиве или, по крайней мере, это то, что я получаю, что он делает, когда я пытаюсь распечатать его. Я просто выдаю кучу нечетных символов – TylerM
Проверьте возвращаемое значение из 'fscanf()'. Для вашего формата он вернет 1, когда он будет успешным, и 0 или -1 в противном случае. Данные должны состоять из чередующихся 'input' и' value' (где значения могут изменять орфографию, но входы не могут). Между ними должны быть пробелы. Я бы поставил пробел в начале строки формата, чтобы пропустить ведущее белое пространство ('' input% s "'). Если ваши данные не отформатированы, вам, вероятно, нужно будет использовать 'fgets()', а затем 'sscanf()' вместо 'fscanf()'. Я бы хотел, чтобы 'fscanf()' был проще в использовании, и, следовательно, легче преподавать; это минный пол или ловушки для новичков. –