为什么ofstream文件流输入文字到文件的时候错误

为什么ofstream文件流输入文字到文件的时候错误,第1张

没有关闭之前的文档。

在对文件进行读取前,并没有将之前写入创建的对象关闭,导致读取失败。

使用ofstream写入数据至文件时,如果使用默认写入方式,则有可能出现文件尺寸大小与实际数据大小不一致的问题。

我正在尝试使用ofstream类将一些东西写入文件,但所有发生的事情都是文件被创建,然后什么都没有。我这里有一些简单的代码

#include <iostream>

#include <fstream>

#include <cstring>

#include <cerrno>

#include <time.h>

using namespace std

int main(int argc, char* argv[])

{

ofstream file

file.open("test.txt")

if (!file) {

cout <<strerror(errno) <<endl

} else {

cout <<"All is well!" <<endl

}

for (int i = 0i <10i++) {

file <<i <<"t" <<time(NULL) <<endl

}

file.flush()

file.close()

return 0

}

当我创建一个控制台应用程序时,一切正常,所以我担心这段代码并不完全具有代表性。但是,我在一个更大的项目中使用这样的代码 - 说实话 - 我不完全理解(Neurostim)。我应该写一些编译成dll的类,可以由Neurostim加载。 运行代码时,会创建“test.txt”,然后“无错误!”打印,因为这显然是strerror的输出。显然这是错误的。否则,应用程序运行完美,而不是因为我正在尝试写入损坏的流这一事实。它只是不这样做。在我看来,权限没有问题,因为文件实际上是创建的。 有没有人有什么想法会导致这种奇怪的行为?

#define _str(r) #r

#define _filename(r) _str(C:/Users/Administrator/Desktop/新建文件夹/##r)

获取绝对路径 _getcwd 参考 http://baike.baidu.com/view/982170.htm


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11615769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存