Страница 1 из 1

Работа со строками

Добавлено: 24 мар 2014, 14:52
Ванно
Нужна помощь (при вводе строки пробел расценивается компилятором как символ окончания строки) как это можно обойти? Вот код:

Код: Выделить всё

#include "stdafx.h"
#include "stdlib.h"
#include "locale.h"

int KolZaglBukv (char *s)
{int i=0,k=0;
	while (*s!='\0')
		{if (*s>='A' && *s<='Z') k++;
		s++;}
	return k;
}

char* DelSpaceVNachale (char* s)
{while (*s==' ')
	s++;
return s;
}

int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_CTYPE,"Russian");
	int size,KZB;char *str;
printf("Введите количество символов в строке\n");
scanf("%d", &size);
str=(char*)malloc(size+1);
printf("Введите строку на латинице(размером, не превышающим %d)\n", size);
scanf("%s", str);
KZB=KolZaglBukv(str);
printf("Количество заглавных букв в строке равно %d\n", KZB);
printf("%s\n", str);
str=DelSpaceVNachale (str);
printf("%s\n", str);	
	return 0;
}
Заранее, спасибо.

Re: Работа со строками

Добавлено: 24 мар 2014, 15:02
Romeo
Ванно писал(а):(при вводе строки пробел расценивается компилятором как символ окончания строки) как это можно обойти?
Читать строку не через scanf, а через gets.

Re: Работа со строками

Добавлено: 24 мар 2014, 15:21
Ванно
Спасибо, буду пробовать.