问题标签 [fstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
633 浏览

c++ - 在 C++ 中读取和输出可能的 unicode torrent 内容?

我正在尝试编写一个简单的 C++ 程序来打开一个 torrent 文件(通过 argv [1] 传递),读取所有文件,然后逐字打印整个文件的内容而不做任何更改,它必须打印副本原始洪流。问题是,一些种子可能包含日语、俄语等(文件名、描述等)......当然还有带有哈希值的标准种子数据等等。

这样做的最佳方法是什么?到目前为止,我只输出了一部分内容,而且它似乎没有正确读取或打印数据......它是乱码什么的:

0 投票
1 回答
1111 浏览

c++ - 使用 fstream 输入不正确的数据

我尝试使用 fstream 从文本文件中读取数据,但得到了错误的数据。

test.in简直就是12
cout读取4273190
有人可以解释为什么会这样以及如何解决吗?

0 投票
4 回答
28471 浏览

c++ - 在哪里放置文件以便阅读?

嘿,我在哪里放置我试图使用 fstream 读取的文本文件?在本教程中,http://www.gamedev.net/reference/articles/article1127.asp,他们说

ifstream fin("input.txt");

“input.txt”在哪里?在我尝试通过执行此“C:\Users\XXXXXXX\Documents\test.in”来指向文件的路径之前。然而,这似乎不起作用,使用 fstream 输入不正确的数据

我正在使用代码块。

提前致谢。

0 投票
2 回答
1929 浏览

c++ - 用 fstream 写的文件有什么权限?

假设我创建了一个这样写的文件:

这个文件的权限是怎么确定的?我有一个程序在夜间运行,大约每分钟生成一次文件——有些是 0644,有些是 0660,我的代码中没有任何东西可以改变它。(我已经看到一些实现允许第三个参数来设置文件权限 - 我正在使用 gcc 4.1.2,它似乎不支持这一点)。

0 投票
2 回答
1043 浏览

c++ - C ++头文件变量范围问题

我有 3 个与此问题相关的文件。file.h、file.C 和 user.C。

file.h 有一个私有成员 fstream 日志。

在 file.C 的构造函数中,它会打开日志。它不会在构造函数中执行此操作,而是构造函数调用函数 OpenLog()。

file.h 还有一个内联关闭函数:

CloseLog() {if (logs) logs.close();}

文件 user.C 有一个退出函数,它创建一个文件实例,然后调用 CloseLog。它在这一点上出现故障。我创建了一些其他的虚拟测试,看起来好像日志在某个地方丢失了......

从 file.C 到 user.C 然后返回到 file.C 会导致这种情况。如果我将 fstream 日志作为 file.C 中的全局日志,那么它可以工作 - 但我宁愿避免使用全局日志。

关于我应该在这里做什么的任何想法?如果我应该发布更多关于此的代码,请告诉我,我可以设置一些虚拟的东西来更好地演示这个。

**这里有更多代码,根据要求 - 我不能复制和粘贴,所以请原谅缺少它 **

我将调用这些类 helpME.h、helpME.C 和 user.C

//helpME.h
#ifndef _helpME_H
#define _helpME_H

#include <iostream>
#include <fstream>
//各种包含

类 helpME {
私人:
fstream 日志;

公共:
无效 CloseLog() {if (logs) logs.close();}
};
#万一

//结束帮助ME.h

//helpME.C
void helpME::helpME(int argc, char** argv)
{
//各种代码
OpenLog();
}

void helpME::OpenLog()
{
//logname 在上面设置,我之前有一个打印语句显示这是正确的
logs.open(logname, ios::in | ios::out | ios::trunc);
}

//结束帮助ME.C

//user.C
void user::quitHelpME(item)
{
helpME* hME = (helpME*) item;
hME->关闭日志();
}

//最终用户.C

再次 - 请原谅缺乏清晰度,我想我可能只是通过添加这个来混淆更多的东西......这个代码在另一个盒子上,不能被复制。

0 投票
5 回答
3806 浏览

c++ - C++ ifstream UTF8 第一个字符

  1. 为什么保存为 UTF8(在 Notepad++ 中)的文件在我在 c++ 程序中打开的 fstream 的开头有这个字符?

    ´╗┐

    我不知道它是什么,我只知道当我保存为 ASCII 时它不存在。更新:如果我将它保存为 UTF8(没有 BOM),它就不存在了。

  2. 如何在 c++ 中检查文件的编码(ASCII 或 UTF8,其他所有内容都将被拒绝;))。就是这些字符吗?

谢谢!

0 投票
2 回答
413 浏览

c++ - std::fstream 不会打开当前进程的文件,但是 open() 会吗?

我正在尝试打开当前进程的可执行文件以进行读写操作(我在可执行文件中附加了其他数据),但是 std::fstream 不会在 ios::in | 中打开文件 ios::out | ios::binary 模式,即使 open() 会(设置了 O_RDWR 标志)。

有谁知道为什么 std::fstream 不会打开文件,而 open() 会,如果是这样,我怎样才能让 std::fstream 打开文件?

0 投票
2 回答
1718 浏览

unicode - win32 c++ fstream 宽参数

请参阅链接了解我在说什么。

我想在链接中使用第 1 点和

完全按照链接所说的去做:

但是 gcc (mingw) 4.4 说没有匹配的调用......

我做错了还是上面链接中的信息不正确?

0 投票
2 回答
5809 浏览

c++ - getline 返回空字符串

我在使用 fstream 的 getline 指令时遇到问题。这是我的代码片段:

此代码应在第一次运行时打开任务文件,并在下一次迭代时打开保存文件。保存文件在每个循环结束时创建。至少它应该像这样工作。因为,第一次一切正常,但在下一次迭代中,“mission_file.getline(buffer_line, 256);” 返回一个空行,使程序崩溃。此外,如果 boolean_1 以 false 开始,则循环工作正常,直到下一个循环。

我已经检查了是否存在所需的“.txt”,mission_file 和 save_file 都返回 is_open() true。

0 投票
3 回答
16363 浏览

c++ - 如何将 fstream 中的 128 个字节准确地读取到字符串对象中?

如何将 fstream 中的 128 个字节准确地读取到字符串对象中?

我编写了一些代码来读取文件的前 128 个字节并打印它,然后是文件的最后 128 个字节并打印它。最后一部分有效,因为您可以轻松地迭代到 EOF,但是我如何从前面获得 128 个字节呢?下面的代码不起作用,因为您无法将 128 添加到 ifstream 迭代器,它不可索引,只能递增(似乎)。

当然我可以创建一个迭代器和 *++ 128 次,但必须有一个简单的单行方法来做到这一点,对吧?