0

我正在尝试将字符串对象的向量输出到文件中。但是,我的代码只输出每个字符串的前两个元素。

下面的一段代码写道:

1
1

到一个文件。而不是:

09
年 7 月 1 日 10 年 7 月 1 日

这就是我需要的。

ofstream file("dates.out");  

vector<string> Test(2); 

Test[0] = "01-Jul-09"; 
Test[1] = "01-Jul-10"; 

for(unsigned int i=0; i<Test.size(); i++)    
     file << Test[i] << endl;

file.close();

我不清楚可能出了什么问题,因为我以前在类似的上下文中使用过字符串对象。

欢迎任何帮助!

4

2 回答 2

1

正如已经观察到的,代码看起来很好,所以:

  • dates.out您的程序运行后是否正在查看正确的内容?您是否验证了您正在查看的文件上的日期/时间以确保它不是以前的数据?
  • 您是否有权写入文件?也许您的程序无法覆盖现有数据。
  • 你向我们展示了所有重要的代码吗?还有其他我们需要了解的函数调用吗?Marcelo/ereOn 答案中的代码是否会产生与您的问题相同的问题?
  • 您确定您正在运行您认为的二进制文件吗?(路径问题可能)。
于 2010-07-13T15:38:23.920 回答
0

以下代码按预期工作:

marcelo@macbookpro-1:~/play$ cat dateout.cc
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

int main()
{
  ofstream file("dates.out");

  vector<string> Test(2);

  Test[0] = "01-Jul-09";
  Test[1] = "01-Jul-10";

  for(unsigned int i=0; i<Test.size(); i++)
    file << Test[i] << endl;
  file.close();
}
marcelo@macbookpro-1:~/play$ make dateout && ./dateout
g++     dateout.cc   -o dateout
marcelo@macbookpro-1:~/play$ cat dates.out 
01-Jul-09
01-Jul-10
marcelo@macbookpro-1:~/play$ 
于 2010-07-13T15:02:25.653 回答