Bonjour,

Je migre un appli de HP-UX soux LINUX RHEL5.
L'instruction - dans la chaîne de formatage du printf qui sert à justifier à gauche ne fonctionne pas.

C'est à dire :

Sous HP-UX :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[gidtdev/oracle-gidtdev2]/users/devt/gidt/src/pc>uname -r
B.11.23
[gidtdev/oracle-gidtdev2]/users/devt/gidt/src/pc>uname
HP-UX
[gidtdev/oracle-gidtdev2]/users/devt/gidt/src/pc>more format.c
#include <string.h>
#include <stdio.h>
 
main( )
{
 
char chaine[ 5 ];
 
strcpy( chaine, "-----" );
 
printf( "|%10-s|\n", chaine );
printf( "lg=%d\n", strlen( chaine ) );
 
exit( 0 );
}
[gidtdev/oracle-gidtdev2]/users/devt/gidt/src/pc>cc format.c -o format
[gidtdev/oracle-gidtdev2]/users/devt/gidt/src/pc>format
|-----     |
lg=5

Sous Linux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                uname[/I][/B]Sous Linux
[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                more format.c
#include <string.h>
#include <stdio.h>

main( )
{

char chaine[ 5 ];

strcpy( chaine, "-----" );

printf( "|%10-s|\n", chaine );
printf( "lg=%d\n", strlen( chaine ) );

exit( 0 );
}

[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                 gcc format.c -ldl -lm -o  format

[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                format
|%10-s|
lg=5[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>

[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                 gcc format.c -ldl -lm -o  format

[gidtdevt.latelec.gl.local/gidt]/users/devt/gidt/src/pc>
                format
|%10-s|
|     -----|
lg=5