我目前有这个代码,并且所有格式都是正确的......我似乎无法在输出文本文件中创建行...我该怎么做?我已尝试在函数和main()中执行for循环,但如果我这样做似乎不起作用,所以我现在很困惑。
package foo.conf
package object conf {
case object Provider {
sealed trait Type {
def name: String
override def toString = name
}
sealed trait MyProvider extends Type {
val name = "MyProvider"
}
}
import Provider._
case class Provider[T <: Type](config: Config[T])
case object Config {
sealed trait Attribute[T <: Type, VT] {
def name: String
def value: VT
override def toString = name
}
final case class AttributeKey[T <: Attribute](name: String)
case object AttributeKey {
implicit def attributeToKey[T <: Attribute](a: T): AttributeKey[T] = AttributeKey(a.name)
}
final case class AttributeValue[VT, T: Attribute[_, VT]](value: VT)
case object AttributeValue {
implicit def attributeToValue[T](a: Attribute[_, T]): AttributeValue[T] = AttributeValue(a.value)
}
case class MyProviderSpecificAttr[T: String](value: T) extends Attribute[MyProvider, T] {
val name = "my-provider-specific-attr"
}
case object `my-provider-specific-attr-val-1` extends MyProviderSpecificAttr("my-provider-specific-attr-val-1")
case object `my-provider-specific-attr-val-2` extends MyProviderSpecificAttr("my-provider-specific-attr-val-2")
}
import Config._
final case class Config[T <: Type](c: Map[AttributeKey[Attribute[T, _]], AttributeValue])
val test = Config[MyProvider](Map(
MyProviderSpecificAttr -> `my-provider-specific-attr-val-1`
))
}
答案 0 :(得分:2)
每次编写文件时都不会附加文件截断并创建新文件,添加附加标记并将文件打开为。
flight.open("flightdata.dat", ios_base::app);
答案 1 :(得分:1)
您在main
中使用未初始化的变量。无论如何,他们没有任何目的。从main
删除变量声明并将其放入output
:
void output()
{
string flightnumber;
int arrival1, arrival2, realarrival1, realarrival2;
char dummy1, dummy2;
ofstream flight;
flight.open("c:\\test\\___flightdata.txt", ios::app);
...
}
int main()
{
output();
return 0;
}
您可能希望添加ios::app
标记,如另一个答案中所指出的那样。