获取输入系统()函数(苹果)

#include <iostream> using namespace std; int main() { short int enterVal; cout << "enter a number to say: " << endl; cin >> enterVal; system("say "%d"") << enterVal; return 0; }

是我目前尝试。 我希望用户输入一个数字,系统()函数说,这基本上是这样。 上面的代码中有一个错误,说:“'D'是不是在这个范围内声明”。 提前致谢。

--------------解决方案-------------

您必须手动格式化字符串。

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
short int enterVal;
cin >> enterVal;

stringstream ss;
ss << "say \"" << enterval << "\"";
system(ss.str().c_str());
}

你可以使用这样的事情:

#include <iostream>
#include <sstream>
using namespace std;

int main() {

short int enterVal;
cout << "enter a number to say: " << endl;
cin >> enterVal;
ostringstream buff;
buff << "say " << enterVal;
system(buff.str().c_str());

return 0;
}

你要逃避你的引号和格式化字符串。 这样做将是另一种方式:

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {
short int enterVal;
char command[128];
cout << "enter a number to say: " << endl;
cin >> enterVal;
snprintf((char *)&command, 128, "say \"%d\"", enterVal);
system(command);
return 0;
}

你也应该知道,你应该编程避免使用system()调用,因为这使你的程序存在安全漏洞。

如果你只是插科打诨,不介意再继续通过各种手段;)

分类:C# 时间:2015-03-15 人气:0
本文关键词: C#,OSX,庆典,系统
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.934 (s). 10 q(s)