Как я могу токенизировать данные файла, хранить их в массиве в C? - PullRequest
0 голосов
/ 20 ноября 2011

Предположим, у меня есть nxn-сетка парных чисел, хранящихся в виде обычного текста, столбцы, разделенные одним пробелом, строки, разделенные разрывами строк, например:

1.01 2.22 6.10
-22.10 -15.0 1.0
2.3 -4.4 5.5

Все, что я знаю, это то, что числа будут двойнымипрограмма должна разобрать nxn double (то есть квадратную матрицу) в двумерный массив, но заранее не узнает значение n.Если есть числа nxm, программа может просто выйтиСпасибо.

1 Ответ

2 голосов
/ 20 ноября 2011

Прочитайте строки, используйте strtok(s, " \t"), чтобы маркировать их, затем вызовите strtod для результатов и сохраните их.Добавьте проверки работоспособности, чтобы убедиться, что вы получили n × n матрица.

Еще лучше, используйте strsep вместо strtok если у вашей платформы есть.

В качестве альтернативы, позвоните scanf n × n раз и каждый раз проверяйте его возвращаемое значение и, наконец, проверяете, файл ли выЧитаете от EOF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...