ПредишенСледващото

Има една линия на формата:

482 u820rv Maria L. Zakaschikova * 9644 4855

Вие трябва да го направи разбор на компонента:

  • брой на таксита (междинно съединение),
  • идентификационен номер на превозното средство (указател към wchar_t. Memory се разпределя в пълния смисъл на думата)
  • Име на звездичка (указател към wchar_t. Memory се разпределя в пълния смисъл на думата)
  • потребление (флоат),
  • печалба (поплавък).

От първоначалния двубайтовите низ, твърде - използвайте функцията swscanf. Оказва се, тип функция анализатора:

Но, както можете да кажете, това не работи. Не чета дори първата Int. Standard въпрос - къде съм идиот?

UPD Първо на всички много благодаря за помощта и добрите съвети. Коригиране на грешките и пропуските, които може да са повлияли (и вероятно ще) се промени визията и кода. Същността на програмата - прочете файл структурирани данни в масив от структури. Реших да направя това, като прочетете условията и анализирането на компоненти, така че аз чета данните не са директно в променливите, а в областта на масив от обекти.

Освен това, във функцията разбор минавам сега (благодарение Vladd) указатели към областта (Int и Float), и вместо полета тип UnicodeString минавам функцията резултат c_str (), която връща указател към низ тип wchar_t. Съответно, в окончателния код това изглежда така тук:

UPD2've фиксирана всички от следните грешки, имам желания ефект, ResultParser наистина започна в края на краищата е 5, което означава, че всички данни, е било прочетено. Но изправени пред друг проблем - полетата написани само с главни букви, които не са български, както трябва, но вероятно по различен кодиране. В съответствие с това възниква въпросът: как е необходимо да се четат данни от поток wfstream на файла в UnicodeString тип обект преминава патерицата и други свързани с тях очевидно му грешка?

настроен 24 Окт '13 в 18:27

@VladD, да, има. В действителност, ние говорим за факта, че scanf на превозното средство ( ".% S [^ *]." И това е необходимо (както е в @strol отговор) scanf ( ".% [^ *]." Т.е.% [. И . не% S [IMHO този основен -. объркване в scanf ( "." БОК. или scanf ( "." FSP [0]. // няма да има предупреждение, но ССЗ Генериране на правилния код или scanf (, FSP видно компилатор (в този контекст) всички сетива "." -... AVP 25 октомври '13 в 11:53

@strol, всъщност, ако българските букви, за да попълнят UTF-8, можете да укажете на en_US.UTF-8 локал и те ще бъдат представени. Но дори и да пренебрегваме българските букви и WCHAR, основната грешка в превозното средство само в scanf формат. - когато пишете отговорите, е не само кода на устройството, а думите и да каже човек, какво да правя. - AVP 25 октомври '13 в 12:36

Свързани статии

Подкрепете проекта - споделете линка, благодаря!