学习之路之课程设计

  最近学校在开展大一学生的课程设计,也就是写一个简单的管理系统。因为老早就听学长说过大一最后两周要写课程设计,所以自己就早早作了准备。但通过实践看来,有很多在win下可以使用的函数在linux并不能使用(学校要求用linux编程,但不知道学校自己编的书为什么会有这种函数出现)。现在总结一下可以在win下使用,却不能在linux下用的。

(1)最让我费尽的就是getch()函数,我为了可以在linux编程实现像登陆linux系统输入密码的需求,对这个函数下了相当大的功夫。linux下getch()是有的,但是所用的库不是一般的库。我在网上百度到curses.h这个库。里面确实有getch()函数,但是这个库是做图形的。我研究了几个小时写出了我当时挺满意的密码输入函数。这个基本可以实现输入密码时候显示“*”。

char *insert_password()
{
	printf("密码输入为:\n");
	initscr();
	cbreak();
	noecho();//disable echo
	char a[100], c,b = '*',d[20] = "密码输入:\n";
	int i= 0;
        while((c=getchar()) != 13)      {
		    a[i] = c;
		   // printw("%c",b);
	            refresh();
		    printw("%c",b);
		    if( a[i] == 8 ) {
		    	printw("/b /b");
			continue;
		    }
		    i++;
        }
        echo();//enable echo;
        nocbreak();
        endwin();
	i = 0;
	while( a[i] != 13 ) {
	i++;
	}
	a[i] = '\0';
	getchar();
	printf("%s\n",a);
        return a;
} 

接着几天,我都心情大好。有一天晚上,自己又重新测试一下程序时候,却出现了差错。这个函数是用不成了。当时的问题是:因为它是自己重新打开的一个窗口,在这个新窗口上进行密码的输入并且同时显示“*”。在这个窗口上我想像prntf("")函数一样打印语句,但是printw()却不能实现。因此,我还是返回到在terminal上,用system("stty -echo")函数将屏幕显示暂时关闭。

当时学习curses库函数时候,参照的是这个博客:http://www.cnblogs.com/dandingyy/archive/2012/08/23/2651644.html    感觉里面讲的很详细。

 

(2)在课本上,在文件章节中,有一个filelength()函数,这个也是用不了的。(也许在别的库里我不知道的...)  但我的观点是linux下wc命令很好用干吗还要在程序中用filelength()函数.



第一次发博客毫无经验,如有冒犯,请海涵....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值