我正在使用一个用C++实现的开源UNIX工具,我需要更改一些代码才能让它做我想做的事情.我想做出尽可能小的改变,希望上传接受我的补丁.可以在标准C++中实现并且不创建更多外部依赖性的解决方案是首选.
这是我的问题.我有一个C++类 - 我们称之为"A" - 目前使用fprintf()将其格式严格的数据结构打印到文件指针.在其print函数中,它还递归调用几个成员类的相同定义的打印函数("B"是一个例子).还有另一个C类,它有一个成员std :: string"foo",需要设置为A实例的print()结果.把它想象成A的to_str()成员函数.
在伪代码中:
class A {
public:
...
void print(FILE* f);
B b;
...
};
...
void A::print(FILE *f)
{
std::string s = "stuff";
fprintf(f, "some %s", s);
b.print(f);
}
class C {
...
std::string foo;
bool set_foo(std::str);
...
}
...
A a = new A();
C c = new C();
...
// wish i knew how to write A's to_str()
c.set_foo(a.to_str());
Run Code Online (Sandbox Code Playgroud)
我应该提到C是相当稳定的,但是A和B(以及A的其余部分)处于不稳定的状态,因此所需的代码变化越少越好.还需要保留当前的打印(FILE*F)界面.我已经考虑了几种实现A :: to_str()的方法,每种方法都有优点和缺点:
将对fprintf()的调用更改为sprintf()
尝试在字符串流中捕获a.print()的结果 …
我试图用这样的方法填充一个带有double值的字符串sprintf:
sprintf(S, "%f", val);
Run Code Online (Sandbox Code Playgroud)
但精度正在被削减到小数点后六位.我需要大约10个小数位才能达到精度.
怎么能实现呢?
另一个容易的希望.
假设我有一个这样的集合:
List<DateTime> allDates;
Run Code Online (Sandbox Code Playgroud)
我想把它变成
List<List<DateTime>> dividedDates;
Run Code Online (Sandbox Code Playgroud)
其中'divideDates'中的每个List包含'allDates'中属于不同年份的所有日期.
是不是有一点LINQ诡计让我疲惫的头脑现在无法挑选出来?
解
接受的答案是正确的.
谢谢,我不认为我知道GroupBy的'into'位,我试图使用.GroupBy()类方法而不是SQL语法.并感谢您确认ToList()修正案并将其包含在接受的答案中:-)
我想将文件扩展名与C#中的当前可执行文件相关联.这样,当用户在资源管理器中点击该文件后,它将以给定文件作为第一个参数运行我的可执行文件.理想情况下,它还会将给定文件扩展名的图标设置为我的可执行文件的图标.谢谢大家.
在Oracle中编辑和编写存储过程有很多选项; 什么是最好的工具,为什么?(每个答案一个工具.)
Mac OS X预装了apache,但文件位于非标准位置.这个问题是一个收集有关配置文件所在位置的信息的地方,以及如何调整apache安装以执行诸如提供php页面之类的操作.
gnuplot文档有关于字体的说法:
Five basic fonts are supported directly by the gd library. These are
`tiny` (5x8 pixels), `small` (6x12 pixels), `medium`, (7x13 Bold),
`large` (8x16) or `giant` (9x15 pixels).
但是,当我尝试使用一个:
gnuplot> set terminal png font tiny
我明白了:
Could not find/open font when opening font tiny, using default
我如何使用这些看似内置的字体?
当客户端请求页面时,我们的安全管理器会在每个html页面的顶部动态插入一些javascript.它被插入DOCTYPE语句之上.我认为这可能是我遇到布局问题的原因.
想法有人吗?
我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些).在我看来,双星号/单星号的东西似乎是非常容易忘记的.
有人可以提供命名模式的权威指南吗?
有人this在C#方法中有分配的有用示例吗?在求职面试中我被要求过一次,我仍然有兴趣回答自己.