cout << setw(10) << stl_string << endl;

Christian Lacunza clacunza@netscape.com
Sat Mar 25 17:34:00 GMT 2000


this looks like a bug to me.
setw(10) does not have the expected effect on stl strings.

shelby$ cat a.cc
#include <string>
#include <iostream>
#include <iomanip>

void main()
{
     string s = "hello";
     cout << '"' << setw(10) <<  s         << '"'  << endl;
     cout << "'" << setw(10) <<  s         << "'"  << endl;
     cout << '"' << setw(10) << "hello"    << '"'  << endl;
     cout << '"' << setw(10) <<  s.c_str() << '"'  << endl;
}
shelby$ 
shelby$ 
shelby$ 
shelby$ g++ -v -o a a.cc
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/specs
gcc version 2.95.2 19991024 (release)
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) a.cc /var/tmp/cc4bTNBg.ii
GNU CPP version 2.95.2 19991024 (release) (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++-3
 /usr/local/include
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../sparc-sun-solaris2.7/include
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/cc1plus /var/tmp/cc4bTNBg.ii -quiet -dumpbase a.cc -version -o /var/tmp/ccjqxGUj.s
GNU C++ version 2.95.2 19991024 (release) (sparc-sun-solaris2.7) compiled by GNU C version 2.95.2 19991024 (release).
 /usr/ccs/bin/as -V -Qy -s -o /var/tmp/ccbO63wV.o /var/tmp/ccjqxGUj.s
/usr/ccs/bin/as: WorkShop Compilers 5.0 Alpha 03/27/98 Build
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o a /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crt1.o /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crti.o /usr/ccs/lib/values-Xa.o /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crtbegin.o -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2 -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib /var/tmp/ccbO63wV.o -lstdc++ -lm -lgcc -lc -lgcc /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crtend.o /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crtn.o
ld: Software Generation Utilities - Solaris/ELF (3.0)
shelby$ 
shelby$ 
shelby$ ./a
"hello"
         'hello         '
"     hello"
"     hello"
shelby$ 


More information about the Gcc-bugs mailing list