En C, le calcul se fait sur un int (euh... je crois), et devrait marcher.
En C++, il devrait se faire sur un char, et les débordements peuvent être drôles.
Disons que ce serait déjà mieux comme ça:
Code :
 - return c + ('A' - 'a');
 
  | 
 
Mais pourquoi prendre des risques et réinventer la roue ?
Code :
 - #include <ctype.h>
 - //copie en minuscule
 - void strcpylow(char* target, const char* source){
 - 	while(*target++= tolower(*source++);
 - }
 - //copie en majuscules
 - void strcpyup(char* target, const char* source){
 - 	while(*target++= toupper(*source++);
 - }
 - //transforme en minuscule
 - void strlow(char* str){
 - 	for( ; *str= tolower(*str) ; str++ );
 - }
 - //transforme en majuscules
 - void strup(char* str){
 - 	for( ; *str= toupper(*str) ; str++ );
 - }
 
  | 
 
 ---------------
			
Bricocheap: Montage de ventilo sur paté de mastic silicone