免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3675 | 回复: 10
打印 上一主题 下一主题

[C] c里面怎么获取输入,这个问题很白,谁愿意告诉我? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-30 14:53 |只看该作者 |倒序浏览
20可用积分
其实就是刚才的帖子的延伸的问题:
刚才的帖子:
http://bbs3.chinaunix.net/thread-1494360-1-1.html
---------------
#include <stdio.h>
#include <stdlib.h>
#include "atmi.h"

main(argc, argv)
{
        long reqlen=1024;
        char *reqbuf;
        /* create connection to server side of tuxedo */
        if(tpinit((TPINIT *)NULL)==-1)
        {
                (void)fprintf(stderr, "Tpinit failed!\n");
                exit(1);
        }

        /* allocate buffer of send */
        reqbuf=(char *)tpalloc("STRING", NULL, reqlen);
        if(reqbuf==(char *)NULL)
        {
                printf("tpalloc failed!\n");
                tpterm();
        }
        strcpy(reqbuf, "7844");------我怎么获得用户的键盘输入?而不是这样写死呢

        /* call service TEST1 */
        if(tpcall("TEST1", (char *)reqbuf, 0L, (char **)&reqbuf, (long *)&reqlen, 0)<0)
        {
                printf("tpcall failed, tperrno=%ld, tperrtext=%s\n", tperrno, tpstrerror(tperrno));
                tpfree(reqbuf);
                tpterm();
                exit(1);
        }

        printf("name=%s\n", reqbuf);
        tpfree(reqbuf);
        tpterm();
        return (0);
}
==============
我用以上这个c程序作客户端,去调用Tuxedo的服务TEST1,

[ 本帖最后由 simhare 于 2009-6-30 14:56 编辑 ]

最佳答案

查看完整内容

把strcpy(reqbuf, "7844");改为scanf("%s", buf);strcpy(reqbuf, buf);buf的定义是char buf;

论坛徽章:
0
2 [报告]
发表于 2009-06-30 14:53 |只看该作者

是不是要这个?

把strcpy(reqbuf, "7844");改为

scanf("%s", buf);
strcpy(reqbuf, buf);

buf的定义是
char buf[BUFSIZ];

论坛徽章:
0
3 [报告]
发表于 2009-06-30 15:01 |只看该作者

回复 #1 simhare 的帖子

http://c-faq.com/osdep/cbreak.html
获取输入字符 - C/C++ - ChinaUnix.net (30 June 2009)
http://bbs.chinaunix.net/viewthread.php?tid=1065846

论坛徽章:
0
4 [报告]
发表于 2009-06-30 16:46 |只看该作者
getchar()
scanf()
ioctl()
and so on

论坛徽章:
0
5 [报告]
发表于 2009-06-30 16:59 |只看该作者
晕,这是最最基础的东西。
用scanf函数
scanf(格式控制字符串,参数表)

论坛徽章:
0
6 [报告]
发表于 2009-06-30 19:19 |只看该作者
LZ估计是刚接触c滴

论坛徽章:
0
7 [报告]
发表于 2009-06-30 19:36 |只看该作者
c语言基础教程看了吗

论坛徽章:
0
8 [报告]
发表于 2009-07-02 09:41 |只看该作者

回复 #2 yug1129 的帖子

为什么我用gets取得用户输入的时候,会收到警告信息,而用scanf就不会?

论坛徽章:
0
9 [报告]
发表于 2009-07-02 09:42 |只看该作者

回复 #8 simhare 的帖子

谁知道scanf 和gets在取得用户键盘输入方面有什么区别?

论坛徽章:
0
10 [报告]
发表于 2009-07-02 09:46 |只看该作者
原帖由 simhare 于 2009-7-2 09:42 发表
谁知道scanf 和gets在取得用户键盘输入方面有什么区别?

你为何不man一下了
man scanf
man gets
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP