在字符串中输出数据
Outputting data within a string
在 C# 中,您可以在字符串中包含字符串或其他数据。例如:
string myString = "Jake likes to eat {0}", food
或
Console.WriteLine("Jake likes to eat {0}", food);
如何在C++做到这一点?对于我正在编写的程序,我有代码说:
getline(cin, obj_name);
property_names[j].Set_Type("vector<{0}>", obj_name);
如何获取要放置在牙套内的obj_name值?
如果你的obj_name是std::string
,你可以按照nhgrif的建议去做
"vector<{" + obj_name + "}>"
如果你的obj_name是char []
,你可以使用与printf
具有类似行为的sprintf
,
int sprintf ( char * str, const char * format, ... );
你可以从 c 使用 sprintf():
char buf[1000];
sprintf(buf, "vector<%s>", obj_name);
如果你错过了C++的sprintf,想使用更C++的东西,试试Boost的格式。
#include <iostream>
#include <boost/format.hpp>
using namespace std;
using boost::format;
int main()
{
string some_string("some string"),
formated_string(str(format("%1%") % some_string));
cout << formated_string << endl;
return 0;
}
你可以用 c# 创建一个几乎类似于 WriteLine 的函数:
void WriteLine(string const &outstr, ...) {
va_list placeholder;
va_start(placeholder, outstr);
bool found = false;
for (string::const_iterator it = outstr.begin(); it != outstr.end(); ++it) {
switch(*it) {
case '{':
found = true;
continue;
case '}':
found = false;
continue;
default:
if (found) printf("%s", va_arg(placeholder, char *));
else putchar(*it);
}
}
putchar('n');
va_end(placeholder);
}
用类似的参数调用它:
WriteLine("My fav place in the world is {0}, and it has a lot of {1} in it", "Russia", "Mountains");
输出:
My fav place in the world is Russia, and it has a lot of Mountains in it
该函数当然不完美,因为来自 c# 的 System.Console.WriteLine() 函数的参数可能不按顺序排列,并且仍然将正确的字符串放在完整字符串中的正确位置。这可以通过首先将所有参数放在数组中并访问数组的索引来解决
相关文章:
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 使用 python 或 c ++ 中的 sql 根据输入数据输出输出示例
- 尝试从 txt 文件中读取两条数据并输出它们 [C++]
- 将多个效果与 libSox 链接并读取输出数据的正确方法
- 如何将函数的输出数据存储在文本文件中
- 如何从amd gpus的显示输出中获取图像数据
- 自定义堆栈上 std::string 数据的输出
- 如何从文本文件输出数据?(学生成绩单计划)
- 为什么我的数据/输出文件为空?
- C++:如何将数据输出到多个.dat文件
- C++:将存储在List容器中的数据输出到文本文件中
- .wav C++数据输出不正确
- C++:模拟餐饮公司计费程序-无法将错误数据输出到错误文件
- 使用iomanip将数据输出格式化为具有Qt的文本文件
- matPutVariable:尝试将数据输出到mat文件时出错(matrix::serialize::WrongSize
- 如何使用类似于gcc-xml的clang生成元数据输出
- 如何使用Python从UART Beaglebone获取数据输出
- GP635T gps传感器的数据输出
- 如何在Windows控制台中将数据输出到自定义流(3>4>等)?
- 流数据输出问题