Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > fscanf и разделители


Автор: StamSvam 19.7.2012, 20:16
Господа программисты и не только. У меня совсем простенький вопрос, но я уже не знаю, как самому на него ответить. Дело в том, что функция чтения из файла FSCANF считает разделителями только ' ','\t' и '\n'. При таком считывании:

Код

fscanf(ft,"%s,",&a);
fscanf(ft,"%s,",&b);


он добавляет ',' к считываемой строке, вместо того, чтобы посчитать ',' разделителем. Так же происходит со всеми другими символами. Как поправить, чтобы запятая была разделителем?

Автор: artsb 20.7.2012, 09:20
Цитата(StamSvam @  19.7.2012,  20:16 Найти цитируемый пост)
Как поправить, чтобы запятая была разделителем? 

Никак - http://cplusplus.com/reference/clibrary/cstdio/fscanf/.

Автор: baldina 20.7.2012, 10:25
см. http://cplusplus.com/reference/clibrary/cstring/strtok/

Автор: StamSvam 20.7.2012, 12:30
Мне посоветовали использовать функцию getline(). Вроде работает. А с fcsanf() действительно никак. Что-то вроде зарезервированных разделителей получается. Пробел, таб, перенос строки и цепочка пробелов. 

Спасибо за информацию!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)