是否有 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/