是否有另一种方法可以使用scanf
或printf
函数在C ++中重写相同的脚本?
谢谢!
#include <stdlib.h>
#include <stdio.h>
int main( int argc, char * argv[], char* env[]) {
char quer[222];
printf("Content-type: text/plain\n\n");
scanf("%s",quer);
printf("%s\n",quer);
return 0;
}
答案 0 :(得分:5)
#include <iostream>
#include <string>
int main()
{
std::cout << "Content-type: text/plain\n\n";
std::string quer;
std::getline(std::cin, quer);
std::cout << quer << '\n';
}
答案 1 :(得分:2)
此? (注意:此代码尚未编译或测试。)
int main(int ac, char **av) {
std::string quer;
std::cout << "Content-type: text/plain\n\n";
std::cin >> quer;
std::cout << quer << "\n";
}
答案 2 :(得分:2)
您可以使用C ++ iostream。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string quer;
cout << "Content-type: text/plain" << endl;
cin >> quer;
cout << quer;
return 0;
}
答案 3 :(得分:1)
这取决于平台,但在Unix(或换行符为\n
的任何平台)上,这应该是与bug兼容的。
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char * argv[])
{
char quer[222];
puts("Content-type: text/plain\n");
gets(quer);
puts(quer);
return 0;
}
但考虑到C ++解决方案是可以接受的,我建议{/ 1}},cin
,string
和getline
用于I / O.
答案 4 :(得分:1)
我不确定原因是什么......但您也可以使用cin / cout代替您在那里的scanf / printf。