python - C 中是否有与 Python 中的 raw_input 功能相同的函数?

标签 python c raw-input

是否有 C 函数与 Python 中的 raw_input 功能相同?

#in Python::
x = raw_input("Message Here:")

我怎样才能用 C 编写类似的东西?

更新::

我做了这个,但是我得到一个错误::

#include<stdio.h>
#include<string.h>
#include "stdlib.h"

typedef char * string;

int raw_input(string msg);
string s;
string *d;

main(){
raw_input("Hello, Enter Your Name: ");
d = &s;
printf("Your Name Is: %s", s);

}

int raw_input(string msg){
string name;
printf("%s", msg);
scanf("%s", &name);
*d = name;
return 0;
}

错误是程序运行并打印消息,并通过 scanf 获取用户类型,但随后它挂起并退出.. ??

最佳答案

你可以很容易地写一个,但你要小心缓冲区溢出:

void raw_input(char *prompt, char *buffer, size_t length)
{
    printf("%s", prompt);
    fflush(stdout);
    fgets(buffer, length, stdin)
}

然后像这样使用它:

char x[MAX_INPUT_LENGTH];
raw_input("Message Here:", x, sizeof x);

您可能想要添加一些错误检查等。

关于python - C 中是否有与 Python 中的 raw_input 功能相同的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496857/

相关文章:

python - 如何在 Amazon EC2 中执行与 Google App Engine 的 helloworld.py 等效的操作?

python - 当多个选项为真时,如何创建此列以返回列表?

c - 如何让 "rand()"生成实际的随机数?

winapi - 是否可以在原始输入中吞下一个键?

python - 请求 html。属性错误: __aexit__ error with asyncio how to fix?

python - mod_wsgi 强制重新加载模块

c - 为什么我的角色功能会崩溃?

c - C 中的 scanf string 和 printf 不能按预期工作

node.js - 使用 node.js 的用户输入

python - 如果显示其他文本则终止 raw_input()