Функция за промяна от "а" в "А" на C

Nazi_93

Registered
Здравейте, каква е функцията която преобразува даден масив от малки букви в големи (на езикът C)
Пробвах с "strtoupper(); toupper()", но не става. Или може би трябва да инклудна някой допълнителен хедър?
Благодаря рпедварително!
 
Код:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char *argv[])
{
  char string[]={"saldksld"};
  char string2[50];
  int i;
  for(i=0;i<strlen(string);i++){
  string2[i] = toupper(string[i]);}
  printf(string2);
  system("PAUSE");	
  return 0;
}
 
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(){
	char text[500];
	int start=0;
	printf ("Vuvedete simvoli: ");
	scanf ("%c",&text);
	for (start=0;start<strlen(text);start++){
	text[start]=toupper(text[start]);

	printf ("%c",text[start]);
	}
	
system ("pause");
return 0;
}
ето ми кода, когато въведа буква ми изкарва някакви си символи (500) а аз искам само тези, които съм въвел да се показват. А когато въвеждам дума ми излиза "<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>" нещо такова....
 
Radko каза:
еми изкарай си printf ("%c",text[start]); извън цикъла...
Сега нищо не показва...
Когато е в цикъла става това:
5045.jpg
 
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int main(){
   char text[500];
   int start=0;
   printf ("Vuvedete simvoli: ");
   scanf ("%s",&text);
   for (start=0;start<strlen(text);start++){
         text[start]=toupper(text[start]);
          printf ("%c",text[start]);
   }
system ("pause");
return 0;
}

Когато въвеждаш символите всъщност въвеждаш низ(повече от 1 символ), за това трябва да е "%s", а след това като го вкарваш в масива и го обикаляш символ по символ - "%c"
 
pLe0mAx каза:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int main(){
   char text[500];
   int start=0;
   printf ("Vuvedete simvoli: ");
   scanf ("%s",&text);
   for (start=0;start<strlen(text);start++){
         text[start]=toupper(text[start]);
          printf ("%c",text[start]);
   }
system ("pause");
return 0;
}

Когато въвеждаш символите всъщност въвеждаш низ(повече от 1 символ), за това трябва да е "%s", а след това като го вкарваш в масива и го обикаляш символ по символ - "%c"

И така ми изкарва същата простотия...
 
Nazi_93 каза:
pLe0mAx каза:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int main(){
   char text[500];
   int start=0;
   printf ("Vuvedete simvoli: ");
   scanf ("%s",&text);
   for (start=0;start<strlen(text);start++){
         text[start]=toupper(text[start]);
          printf ("%c",text[start]);
   }
system ("pause");
return 0;
}

Когато въвеждаш символите всъщност въвеждаш низ(повече от 1 символ), за това трябва да е "%s", а след това като го вкарваш в масива и го обикаляш символ по символ - "%c"

И така ми изкарва същата простотия...

При мен работи, виж да не компилираш друг файл.
 

Back
Горе