17{
18
19 if (timesteps)
20 {
21 std::ifstream infile (filename.c_str());
22 char buf[1025];
23 libmesh_error_msg_if(!infile.is_open(), "Error opening file " << filename);
24
25
26
27 for (unsigned int i=0; i != timesteps+1; ++i)
28 infile.getline(buf, 1024);
29 libmesh_error_msg_if(!infile.good(), "Error reading line from file " << filename);
30 unsigned int length = cast_int<unsigned int>(infile.tellg());
31 infile.close();
32
33
34 int err = truncate(filename.c_str(), length);
35 libmesh_error_msg_if(
err != 0,
"Error truncating file " << filename);
36 }
37
38 else
39 {
40 std::ofstream outfile (filename.c_str(), std::ios_base::out);
41 outfile << varname << " = [" << std::endl;
42 }
43}