powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / getchar() и перевод строки. (turbo C++)
1 сообщений из 1, страница 1 из 1
getchar() и перевод строки. (turbo C++)
    #34207704
nrmBeginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему функция getchar() в двух разных примерах видит по разному перевод строки принятый от пользователя? В первом примере она видит только char(10), а во втором и char(10) и char(13).
(Это в Turbo C++)

Примеры:

1:
Код: plaintext
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.
#include <string.h> // „«ï ä㭪樨 strlen() ¢ëç¨á«ïîéîî ¤«¨­­ã áâப¨
#include <io.h> // §¤¥áì ­ è  _creat()
#include <stdio.h> // ¤«ï ä㭪樨 ¯®«ã祭¨ï ᨬ¢®«  - getchar()


int main(void)
{
	char *szData1;
	int nhFile;
	unsigned nLen;
	unsigned i;
	printf("‚¢¥¤¨â¥ á®åà ­ï¥¬ë© â¥ªáâ, £¤¥ ¡ã¤¥â\nª®¬¡¨­ æ¨ï ª« ¢¨è Ctrl+Q á ¯¥à¥¢®¤®¬ áâப¨ â ¬ ¨ ¡ã¤¥â ª®­¥æ ⥪áâ :\n-");
	szData1 = new char[ 32767 ];
	i= 0 ;
	while((szData1[i]=getchar())!= 17 ) {
	if(szData1[i]== 10 ) {
		szData1[i++]= 13 ;
		szData1[i++]= 10 ;
	}
	else i++;
	};
	szData1[i]= 0 ;
	nLen=strlen(szData1);
	nhFile = _creat("c:\\creat.txt", 0 );
	if(write(nhFile,szData1,nLen)!=nLen) {
		printf("Žè¨¡ª  § ¯¨á¨ ¢ ä ©«!\n");
		return  1 ;
	};
	_close(nhFile);
	printf("‚ ¬ ¯®¢¥§«® :)\n");
	return  0 ;
}

2:
Код: plaintext
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
#include <string.h> // „«ï ä㭪樨 strlen() ¢ëç¨á«ïîéîî ¤«¨­­ã áâப¨
#include <io.h> // §¤¥áì ­ è  _creat()
#include <stdio.h> // ¤«ï ä㭪樨 ¯®«ã祭¨ï ᨬ¢®«  - getchar()

char *getinput(void);

int main(void)
{
	char *szData1;
	int nhFile;
	unsigned nLen;
	unsigned i;
	//________
	char *cPathfile;
	FILE *pfopened;

	//________
	printf("‚¢¥¤¨â¥ pathfile:\n-");
	cPathfile=getin();
	printf("‚¢¥¤¨â¥ á®åà ­ï¥¬ë© â¥ªáâ, £¤¥ ¡ã¤¥â\nª®¬¡¨­ æ¨ï ª« ¢¨è Ctrl+Q á ¯¥à¥¢®¤®¬ áâப¨ â ¬ ¨ ¡ã¤¥â ª®­¥æ ⥪áâ :\n-");
	szData1 = new char[ 32767 ];
	i= 0 ;
	while((szData1[i]=getchar())!= 17 ) {
	if(szData1[i]== 10 ) {
		szData1[i++]= 10 ;
	}
	else i++;
	};
	szData1[i]= 0 ;
	nLen=strlen(szData1);

	pfopened = fopen(cPathfile,"w");
	if(fwrite(szData1,nLen, 1 ,pfopened)!=nLen) {
		fprintf(stderr,"Žè¨¡ª  § ¯¨á¨ ¢ ä ©«!\n");
		return  1 ;
	};
	return fclose(pfopened);
};

char *getinput(void)
{
	unsigned char i= 0 ;
	static char szRet[ 130 ];
	szRet[ 0 ]=getchar();
	while(szRet[i]!= 10 ) {
		i++;
		szRet[i]=getchar();
	};
	szRet[i]= 0 ;
	return szRet;
};
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / getchar() и перевод строки. (turbo C++)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]