![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Languages, Compilers and Interpreters C,C++,C#,.NET,Java,PHP,Perl,SQL and more |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| панаехавший | *scanf wierd problem This is something I don't really understand. I pass a string to a server process via TCP/IP (that's not really important though). Anyway, on the server we do something like Code: char buf[16];
if(sscanf(s,"%*s %s",buf)!=1) {
printf("assignment failed\n");
}
else {
printf("assignment ok... buf=%s",buf);
} KEY I get something like "assignment of... buf= @". I hit a space after KEY, the same tihng. I get two or three spaces and i get assignment failed. No if after that I send a simple KEY with no spaces i always get an assignment failure. Same thing happens if i send a normal string: KEY VAL and then give the bad ones, i get a failure on aech following bad one. Any idea? Could this be a bug?
__________________ Իսկ ԴՈՒ արդեն վաճառե՞լ ես Հայրենիքդ ռուսներին: My Exchange Rate Monitor | Իմ Արտարժույթի Մոնիտորը |
| | |
| | #3 |
| Ребе - коп! Join Date: Mar 2003 Location: sfba
Posts: 4,183
Rep Power: 6 Reputation:
32 | праильно попробовав scanf() вместо sscanf() проблема четко обозначилась |
| | |
| | #4 | |
| панаехавший | Quote:
__________________ Իսկ ԴՈՒ արդեն վաճառե՞լ ես Հայրենիքդ ռուսներին: My Exchange Rate Monitor | Իմ Արտարժույթի Մոնիտորը | |
| | |
| | #5 |
| Administrator | очень плохой английский, извини. Можно на русском - что ожидалось этой строкой кода? Если я прально понял, то ты хочешь проигнорировать первую строку? Возможно, все дело в этой *.. Так ты лучше считай ее в буффер, и забудь, вместо того, чтоб "доверять" это дело системе. Надежнее.
__________________ И повешенные могут качаться в неположенную сторону. /С.Е.Лец/ |
| | |
| | #6 |
| the mochinger | 2OP: what compiler you are using? I've tried with VC60 and got ok result Code: char *s = "key val";
char buf[16];
if(sscanf(s,"%*s %s",buf)!=1) {
printf("assignment failed\n");
}
else {
printf("assignment ok... buf=%s",buf);
}
output was:
assignment ok... buf=valPress any key to continue
__________________ The flower that blooms in adversity is the most rare and beautiful of all. |
| | |
| | #7 |
| панаехавший | Sorry False alarm Со scanf все нормально, просто я по сокетам получаю что-то непонятное. Кстати, пользуясь случаем, кто знает есть ли в стандартной библиотеке что то типа trim() в пхп или если не ошибаюсь chomp() в перле? >greco Да, нужно проигнорировать первых параметр, но это повидимому работает, а с буффером придется лишние переменные вмешивать.
__________________ Իսկ ԴՈՒ արդեն վաճառե՞լ ես Հայրենիքդ ռուսներին: My Exchange Rate Monitor | Իմ Արտարժույթի Մոնիտորը |
| | |
| | #9 |
| Грустно... | zvezdochka, po idee dolzhan trebovat' dlinnu bufera, kak parametr function a... 2 pol'zujtes' C++ om v konce kontsov to... ![]()
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Weird problem in WinXP | Boyov | Software | 4 | May 4, 2005 17:11 |
| IIS problem | Hovo | Web Development | 6 | Jun 21, 2004 11:17 |
| Pancake flipping problem | acid | Algorithms | 1 | Jun 2, 2004 19:16 |
| PHP: Header and Cookies problem | Aram Ghazanchyan | Web Development | 9 | Jun 13, 2003 06:48 |
| Priner -- Problem :( | Mono | Hardware | 4 | Aug 25, 2002 03:06 |