есть простейший код
sprintf(debitAmt11, "%011s", debitAmt);
который увеличивает длинну строки до 11 символов предшествующими нулями. Компиляция и выполнение предполагается на таких платформах:
1. Компил:
CC -xildoff -mt -Drdbms -DSOLARIS -DBT_UNIX -DBT_SOLARIS -xildoff -DMODULE_NAME='"ConvModule"' -I/usr1/srcsunos/src/include -DDEBUG -DDEBUG_GLOBAL=DEBUG_LVL_ALL -g -g -xs -features=rtti -DARBORBP -DOS_SOLARIS_2_6 -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_MULTI_THREADED -DOS_SOLARIS_PTHREADS -mt -library=iostream -DOS_REALTIME -DOS_NO_TYPEID -ptr. -KPIC -c ConvModule.cpp
Исполнение: SunOS testsrv4 5.8 Generic_117350-46 sun4u sparc SUNW,Ultra-4
2. Компил:
g++ -Wno-deprecated -Wno-non-template-friend -Drdbms -fPIC -DLINUX -DBT_UNIX -DBT_LINUX -m64 -DBUILD64BIT -pthread -D_REENTRANT -DMODULE_NAME='"ConvModule"' -I/usr1/srclinux/src/include -DDEBUG -DDEBUG_GLOBAL=DEBUG_LVL_ALL -g -g -DARBORBP -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_MULTI_THREADED -DOS_REALTIME -DOS_NO_TYPEID -c ConvModule.cpp
Исполнение: Linux testsrv2 2.6.18-164.6.1.el5 #1 SMP Tue Oct 27 11:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
Но код работает так как задумано только на варианте 1, на втором в начало дописывает
пробелы.
Не силен в С++ и тем более ничего не смыслю в компиляторах под *никсы. Что можно/нужно поправить?
Спасибо.