CR LF lp

#include <stdio.h>
#include <stdlib.h>
char* menu[] = {
	"a - add new record",
	"d = delete record",
	"q - quit",
	NULL,
};
// int func(int a[]) // a is a pointer to the first element of an array
// int func(int* a)  // is the same as the above one
// so I think the below one is equal to char** choices);
// int getchoice(char* greet, char* choices[]);
int getchoice(char* greet, char** choices);
int main()
{
	int choice = 0;
	do
	{
		choice = getchoice("please select an action", menu);
		printf("you have chosen: %c/n", choice);
	} while(choice != ‘q‘);
	exit(0);
}
int getchoice(char* greet, char** choices)
// int getchoice(char* greet, char* choices[])
{
	int chosen = 0;
	int selected;
	char** option;
	do {
		printf("choice: %s/n", greet);
		option = choices;
		while (*option)
		{
			printf("%s/n", *option);
			option++;
		}
		// when prog running, when user types ‘a‘ and Enter key, prog see ‘a‘ and
	   	// LF(‘/n‘)(10), not the character CR‘/r‘(13), unix and linux use a single
		// LF as the end of a line not like in windows it use both the two characters
		// but still strange happens, this program runs very well in both linux and
		// windows OS.
		do // if I typed ‘a‘ and Enter in shell bash, there will be two characters in
		{  // buffer, character ‘a‘(97) and character ‘/n‘(10),
			selected = getchar();
		} while (selected == ‘/n‘); // discard the ‘/n‘
		option = choices;
		while (*option)
		{
			if (selected == *option[0])
			{
				chosen = 1;
				break;
			}
			option++;
		}
		if (!chosen)
		{
			printf("incorrect choice, select again/n");
		}
	} while (!chosen);
	return selected;
}

时间: 2024-11-06 02:42:17

CR LF lp的相关文章

CR LF的由来

学习Esperanto时用到一款叫做Kajero的软件,支持世界语特殊字符编辑. 在Option菜单中有个选项,End of line 列出了四种换行方式 这四种都是由基本CR和LF组成.那么CR和LF分别代表了什么意义呢? 针对这个问题,我决定从CR与LF本身的词源展开调查. CR,英文全称叫做Carrige Return,中文直译“回车”(真的是“直译”~~~) LF,英文全称叫做Line Feed, CR与LF并非是计算机专业术语,而是打字机时代术语. 早在计算机发明之前,有一种电传打字机

CR LF CR/LF

CR:Carriage Return,对应ASCII中转义字符 '\r' (0x0D),表示回车LF:Line Feed,对应ASCII中转义字符 '\n' (0x0A),表示换行CRLF:Carriage Return & Line Feed,'\r\n',表示回车并换行 在机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变: CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还

改行Code(CR、LF、CR+LF)

CR:Carriage Return(回车) LF:Line Feed(换行) 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失. 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符.一个叫做"回车",告诉打字机把打印

计算机编码中的换行 CR与LF

以下的文字为转载,但是有错误的地方,博主自行进行了修正和补充,用红色标示. 原文地址在这里. ------------ 转载起始 ------------- "回车"(Carriage Return) 和 "换行"(Line Feed) 这两个概念的来历和区别. 1. 起源:电传打字机 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是

CR和LF

现在的电脑操作系统主要有windows.unix/linux.macos这三种. 首先, 回车:英文(carriage return ),缩写CR 换行:英文(line  feed),缩写LF 在window中,在一个文本结尾常常使用"<回车><换行>","<CR><LF>"或者说是"\r\n"来表示一行结束 在unix和linux系统中,使用的是"<换行>",&qu

C语言中&lt;CR&gt;是什么意思

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS系统)则采用回车符CR表示下一行.CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D; LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A.所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a

换行符\r \n LF

前言:在对照PSR-2规范时,看到文件结尾必须要以Unix LF(linefeed)结尾,不懂查~ 来源于:http://www.cppblog.com/prayer/archive/2009/08/19/93854.html 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符

笔记十

6.远程邮件发送权限 useradd lzt passwd lzt cd /etc/postfix/ vim /etc/postfix/access 修改内容为: 在最后一行添加所要禁止的 ip REJECT 如:172.25.254.8 REJECT postmap access ##执行完此条命令会发现出现一个新的access.db文件 postconf -d | grep client @@smtpd_client_restrictions = ##此行为上条命令显示结果的倒数第二行,为所

samba服务器常用指令

samba服务器需要安装samba.samba-common.samba-client三个包: samba -----samba服务器程序的所有文件 samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件 samba-client -----提供了Samba客户机的所有文件 samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能 samba服务器设置步骤: 1.创建samba用户:smbpasswd -a user   #创建sam