LINUX.ORG.RU

чтение из файла


0

0

Программа читает данные из файла и передает их через модем. чтение производится через fscanf(data_in,"%c",&buff). В исходном файле разделители строки CRLF(13 10) а на принимающей стороне файл принимается с разделителями CR(13). В чем может быть проблема? Может fscanf читает "неправильно"?


>fscanf(data_in,"%c",&buff)

чё ето такое?????????

>Может fscanf читает "неправильно"?

может ты всётаки прочитаеш ман?????

или тебе лень посмотреть что она прочитала??? в хужем случае долбагером???

а модем подключен через ком - порт???

тогда ещё прочитай ман stty && man tcsetattr

cvv ★★★★★
()

А при открытии порта модема не было указано преобразовывать LF->CR (флаг INLCL из c_iflags)?

kpanic ★★
()
Ответ на: комментарий от kpanic

я думаю что он не догадывается о чём речь

cvv ★★★★★
()
Ответ на: комментарий от cvv

2 CVV >>fscanf(data_in,"%c",&buff) >чё ето такое????????? Это фукнция форматированного чтения из потока. Если ты с ней не знаком то читай ман сам. А вообще хамство на ЛОРе заколебало уже... 2 Vinill Да, видимо придется передвать как бинарник. Спасибо. А вообще просесс приема-передачи был весьма странным, а именно:

modem1>a 97 send

modem1>a 97 send

modem1>a 97 send

13 send

modem1>

10 send

modem1>a 97 send

modem1>a 97 send

modem1>a 97 send

modem2>recv a 97

modem2>recv a 97

13em2>recv

modem2>recv 0

modem2>recv a 97

modem2>recv a 97

Странно, почему на принимающую сторону приходил 0 вместо 10?

bobych
() автор топика
Ответ на: комментарий от cvv

> помоему для него что бинарный что текстовый - одно ..............

Не только для него. Это одно и то же для всех файловых функций под Линуксом.

anonymous
()
Ответ на: комментарий от bobych

А каким образом осуществляется передача в модем? Как уже было сказано выше скорее всего надо копать в сторону man tcsetattr / man stty.

kpanic ★★
()
Ответ на: комментарий от kpanic

Передача осуществляется не непосредственно в модем а на порт терминального сервера через telnet-сессию. а уже терминальный сервер из TCP порта запихивает данные в COM-порт.

bobych
() автор топика
Ответ на: комментарий от bobych

То есть открываем телнет соединение на сервер, на нем запускаем какую-то прогу, которая и запихивает данные в COM порт? Я правильно понял?

Ну тогда надо копать передающую программу на серваке на предмет того какие параметры она выставляет на COM порт.

kpanic ★★
()
Ответ на: комментарий от bobych

>>2 CVV

>>>fscanf(data_in,"%c",&buff)

>>чё ето такое?????????

>Это фукнция форматированного чтения из потока.

ет мы знаем, меня смутил способ её использования ...

>Если ты с ней не знаком то читай ман сам.

а вот если бы ты прочитал ман то наверное бы понял что ето совсем не то что тебе нужно, особенно с таким извращённым использованием

>А вообще хамство на ЛОРе заколебало уже...

cvv ★★★★★
()
Ответ на: комментарий от bobych

На счет параметров порта на циске не подскажу.

А на приемной стороне тоже через циску принимается? А то ведь и на приемной стороне может происходить конвертирование... Так что если там принимается линухом, то можно глянуть еще там.

kpanic ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.