求教,C语言问题,制作一个功能追加的getchar相关的函数mydetchar。信号与时间相关的getchar能从键盘读取一个文字的输入,现在要制作一个timeout功能追加相关的函数mygetchar。1.timeout的时间,由mygetchar的参数指定。2.返回值是在指定的时间内由键盘输的值,如果是EOF的话就是-1,指定时间内键盘输入没有的话,就发起timeout这是是-2,前两种情况以外的是-3。3.使用后,不需要的signal的设定就取消,返回原有的设定。满足以上条件,返回值还有现时间把TI

题目
求教,C语言问题,制作一个功能追加的getchar相关的函数mydetchar。信号与时间相关的

getchar能从键盘读取一个文字的输入,现在要制作一个timeout功能追加相关的函数mygetchar。1.timeout的时间,由mygetchar的参数指定。

2.返回值是在指定的时间内由键盘输的值,如果是EOF的话就是-1,指定时间内键盘输入没有的话,就发起timeout这是是-2,前两种情况以外的是-3。

3.使用后,不需要的signal的设定就取消,返回原有的设定。

满足以上条件,返回值还有现时间把TIME(3)获得的值变换成CTIME(3)的文字列进行表示。 这个程序不需要重入。

   本人C学得不好,希望给出讲解,运行后的现象,越细越好。

   我的邮箱:1054180441@qq.com


相似考题
更多“求教,C语言问题,制作一个功能追加的getchar相关的函数mydetchar。信号与时间相关的 getchar能从键盘读取一个文字的输入,现在要制作一个timeout功能追加相关的函数mygetchar。1.timeout的时间,由mygetchar的参数指定。2.返回值是在指定的时间内由键盘输的值,如果是EOF的话就是-1,指定时间内键盘输入没有的话,就发起timeout这是是”相关问题
  • 第1题:

    在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一个指定的文件打开为一个预定义的标准流()

    A.open

    B.f open

    C.freopen

    D.f dopen


    正确答案:C

  • 第2题:

    请教,UNIX下C语言的问题,制作一个功能追加的getchar相关的函数mydetchar。信号与时间相关的!

    getchar能从键盘读取一个文字的输入,现在要制作一个timeout功能追加相关的函数mygetchar。1.timeout的时间,由mygetchar的参数指定。2.返回值是在指定的时间内由键盘输的值,如果是EOF的话就是-1,指定时间内键盘输入没有的话,就发起timeout这是是-2,前两种情况以外的是-3。3.使用后,不需要的signal的设定就取消,返回原有的设定。程序需要满足上记条件,返回值还有现时间把TIME(3)获得的值变换成CTIME(3)的文字列进行表示。 这个程序不需要重入。这段东西是我从日语翻译过来的,可能意思有点偏差,但是大意肯定没问题!求大神指导!我还在看UNIX下C的书,这东西真不太容易而且还真不太懂。。。。


    #include <stdio.h> #include <unistd.h> #include <errno.h> #include <signal.h> #include <sys/time.h> #include <string.h> void handler(int sig) { if (sig != SIGALRM) { printf("Invalid signal %d\n", sig); } } int mygetchar(int wait) { char ch; int size, ret, clear; struct sigaction act, old; struct itimerval timer; if (wait <= 0) return -3; act.sa_handler = handler; sigemptyset(&act.sa_mask); act.sa_flags = 0; sigaction(SIGALRM, &act, &old); /* set timer */ memset(&timer, 0, sizeof(timer)); timer.it_value.tv_sec = wait; setitimer(ITIMER_REAL, &timer, NULL); size = read(STDIN_FILENO, &ch, sizeof(ch)); clear = 1; /* assume we should disable timer after reading */ if (size == 0) /* eof */ { ret = -1; } else if (size == -1 && errno == EINTR) /* timeout */ { ret = -2; clear = 0; } else if (size < 0) /* other errors */ { ret = -3; } else { ret = ch; } if (clear) { /* disable the running timer */ timer.it_value.tv_sec = 0; setitimer(ITIMER_REAL, &timer, NULL); } sigaction(SIGALRM, &old, NULL); /* restore sig action */ return ret; } int main() { int ch; time_t t; printf("input a char in 3 seconds\n"); ch = mygetchar(3); t = time(NULL); if (ch < 0) printf("mygetchar returns %d, at %s\n", ch, ctime(&t)); else printf("get char '%c', at %s\n", ch, ctime(&t)); return 0; }

  • 第3题:

    一个函数返回值的类型是由()决定的。

    A.return语句中表达式的类型

    B.定义函数时指定的函数类型

    C.在调用函数时临时指定

    D.调用函数的主调函数的类型


    正确答案:B

  • 第4题:

    关于read()函数的下列描述中,( )是对的。

    A.该函数是用来从键盘输入中获取字符串

    B.该函数所获取的字符的多少是不受限制的

    C.该函数只能用于文本文件的操作中

    D.该函数只能按规定读取所指定的字符数


    正确答案:D

  • 第5题:

    要求编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。


  • 第6题:

    信号对指定幅值的取值机会可用下列函数描述()

    • A、互相干函数
    • B、自相关函数
    • C、互相关函数
    • D、概率密度函数

    正确答案:D

  • 第7题:

    在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一个指定的文件打开为一个预定义的标准流()。

    • A、open
    • B、fopen
    • C、freopen
    • D、fdopen

    正确答案:C

  • 第8题:

    C语言规定,函数返回值的类型是由()决定的。

    • A、return语句中的表达式类型
    • B、调用该函数时的主调函数类型
    • C、调用该函数时由系统临时
    • D、在定义函数时所指定的函数类型

    正确答案:D

  • 第9题:

    getchar函数的功能是接收从键盘输入的一串字符。


    正确答案:错误

  • 第10题:

    关于ActionScript中的“函数”,下列描述错误的是()。

    • A、在定义了函数后,就可以从任意一个时间轴中调用它,包括加载的SWF文件的时间轴
    • B、如果传递给某个函数的参数多于函数的需要,该函数将忽略多余的值
    • C、如果调用某个函数时,没有传递足够的必需的参数,则函数将为空的参数指定undefined数据类型
    • D、每个函数必须要有返回值

    正确答案:D

  • 第11题:

    单选题
    信号对指定幅值的取值机会可用下列函数描述()
    A

    互相干函数

    B

    自相关函数

    C

    互相关函数

    D

    概率密度函数


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    一个函数返回值的类型是由()决定的
    A

    return语句中的表达式类型

    B

    定义函数时所指定的函数类型

    C

    调用该函数的函数的类型

    D

    调用函数时临时类型


    正确答案: D
    解析: 暂无解析

  • 第13题:

    C语言中getchar 函数的功能是_________________________。


    正确答案:
    从键盘上输入一个字符。

  • 第14题:

    公司A有一个SQLSERVER2005数据库服务器。你被指派了一个任务是去得到当前已登录数据库的用户的信息。为此,你需要去创建一个返回指定用户活动时长的函数,请问,下面哪两个方法能达到这个目的?()

    A.创建一个返回值列表的函数,它返回给定用户的登录时间值

    B.创建一个返回值列表的函数,它返回返回超过当前用户登录时长的那些用户的登录小时数

    C.创建一个返回指定用户当天登录小时数的函数

    D.创建一个返回指定用户当月登录小时数的函数


    参考答案:C, D

  • 第15题:

    C语言规定函数返回值的类型是由在定义该函数时所指定的函数类型所决定的。()

    此题为判断题(对,错)。


    参考答案:正确

  • 第16题:

    请补充函数proc(),该函数的功能是:删除字符数组中小于指定字符的字符,指定字符从键盘输入,结果仍保存在原数组中。 例如,输人“abcdefghij”,指定字符为“f”,则结果输出“fghij”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序:


    正确答案:
    【l】i++【2】str[j++]=str[i]【3】str[j]=ˊ\0ˊ
    【解析】要删除字符串中小于指定字符的字符,就要把字符串中每一个字符跟指定字符相比较,小于指定字符的字符不予处理,因此【l】处填“i++”;把大于等于指定字符的字符保存在原字符串中,因此【2】处填“str[j++]=str[i]”;处理完整个字符串后.为新生成的字符串添加结束符,因此【3】处填“str[j]=ˊ\0ˊ”。

  • 第17题:

    getchar()是一个有返回值函数


    正确答案:正确

  • 第18题:

    一个函数返回值的类型是由()决定的

    • A、return语句中的表达式类型
    • B、定义函数时所指定的函数类型
    • C、调用该函数的函数的类型
    • D、调用函数时临时类型

    正确答案:B

  • 第19题:

    JAVA语言中函数返回值的类型由()决定的。

    • A、return语句中的表达式类型
    • B、调用该函数的主调函数的类型
    • C、调用函数时临时决定
    • D、定义函数时所指定的返回值类型

    正确答案:D

  • 第20题:

    从键盘上输入某字符串时,不可使用的函数是().

    • A、getchar()
    • B、gets()
    • C、scanf()
    • D、fread()

    正确答案:A

  • 第21题:

    在指定的一段时间内没有使用键盘,屏幕保护程序就会启动。


    正确答案:错误

  • 第22题:

    公司A有一个SQL SERVER 2005数据库服务器。你被指派了一个任务是去得到当前已登录数据库的用户的信息。为此,你需要去创建一个返回指定用户活动时长的函数,请问,下面哪两个方法能达到这个目的?()

    • A、创建一个返回值列表的函数,它返回给定用户的登录时间值
    • B、创建一个返回值列表的函数,它返回返回超过当前用户登录时长的那些用户的登录小时数
    • C、创建一个返回指定用户当天登录小时数的函数
    • D、创建一个返回指定用户当月登录小时数的函数

    正确答案:C,D

  • 第23题:

    判断题
    getchar函数的功能是接收从键盘输入的一串字符。
    A

    B


    正确答案:
    解析: 暂无解析