首页 文章
  • 12 votes
     answers
     views

    使用相同的fstream读取和写入同一文件

    我有一个已包含一些数据的文件(例如,8 kB) . 我想从文件的开头读取一些内容,然后从我读完的地方开始覆盖数据 . 所以我尝试使用以下代码: std::fstream stream("filename", std::ios::in | std::ios::out | std::ios::binary); char byte; stream.read(&byte, 1...
  • 1567 votes
     answers
     views

    为什么在C中读取stdin的行比Python慢得多?

    我想比较使用Python和C从stdin读取字符串的读取行,并且看到我的C代码运行速度比等效的Python代码慢一个数量级 . 由于我的C生锈了,我还不是专家Pythonista,请告诉我,如果我做错了或者我误解了什么 . (TLDR回答:包括声明: cin.sync_with_stdio(false) 或者只是使用 fgets . TLDR结果:一直向下滚动到我的问题的底部并查看表格 . )...
  • 467 votes
     answers
     views

    C:“std :: endl”vs“\ n”

    许多C书都包含这样的示例代码...... std::cout << "Test line" << std::endl; ......所以我也一直这样做 . 但我已经看到很多来自像这样的开发人员的代码: std::cout << "Test line\n"; 是否有技术上的理由偏爱另一个,或者仅仅是编码风格的问题?
  • -2 votes
     answers
     views

    C编译器Win 8(64位)[关闭]

    我是编程的新手,所以我需要一个c编译器,我的Windows 8 64位操作系统,我找不到 . 我已经尝试了很多编译器,包括codeblocks和dev C . 第二个主要问题是我在iostream上遇到错误 . 两个编译器都说“没有这样的目录”,所以tehy给出了“cout <<”和“cin >>”的错误 . 请告诉我这样的编译器与我的笔记本电脑兼容并具有iostream的...
  • 0 votes
     answers
     views

    虽然fstream是从iostream派生出来的,但为什么包括fstream,为什么还包括iostream?

    不久之前,我正在使用旧标准的C编译器(TurboC),其中包括fstream.h,包括iostream.h变得不必要(例如,为了使用cout / cin) .现在,当我切换到更新的标准编译器时,我发现即使在包含fstream之后我也需要包含iostream,尽管事实上fstream是从iostream派生的 . 所以,我想知道为什么需要使用fstream包含iostream并增加编译时间 .
  • 0 votes
     answers
     views

    自定义流缓冲区是否可以在程序退出时和请求输入时自动刷新?

    Loki Astari提供this custom steam buffer . 当从cin :: cin读取或应用程序存在时,如何将类更改为自动刷新?例如: int main () { MyStream myStream(std::cout); myStream << "This does not print."; } 和 int main() {...
  • 2 votes
     answers
     views

    C - 为什么fflush(stdout)不适用于iostream?

    我正在阅读 freopen() ,并意识到如果我们指定stdin / stdout,即使我们使用cin / cout进行编码,该函数也能正常工作 . 研究了一下,我发现了这个链接freopen() equivalent for c++ streams,其中一个用户回答: 来自C标准27.3.1:“对象cin控制与对象stdin关联的流缓冲区的输入,在<cstdio>中声明 . ”所以...
  • 2 votes
     answers
     views

    C fstream定位,g和clang之间的行为不同

    我使用的是一个使用C std :: fstream的文件,我很难理解流的定位 . 我已经提取了一个演示问题的示例代码: #include <iostream> #include <fstream> #include <string> int main() { std::fstream f; std::string path = "tes...
  • 4 votes
     answers
     views

    无法提取模型类型swift

    我在 CoreML 使用Swift Playgrounds时遇到了轻微问题,而 attempting 则使用性别分类器模型 . 当我将 Gender.mlmodel 和 Gender.swift 添加到Playground页面(Resources / and Sources /)中的各自文件夹时,我得到了一个相当奇怪的错误,如下所示: 致命错误:'试试!'表达式意外地引发了错误:错误Domain...
  • 0 votes
     answers
     views

    c将二进制文件写入文件

    我想尝试写入二进制文件的txt文件 .现在我写了这段代码: #include <iostream> #include <fstream> using namespace std; int main() { char* f = "abc"; ofstream ofile("D:\\foobar.txt", ios_bas...
  • 8 votes
     answers
     views

    “内部”与“关联”流缓冲区之间的区别

    从http://www.cplusplus.com/reference/ios/ios/rdbuf/: 某些派生的流类(例如stringstream和fstream)维护它们自己的内部流缓冲区,它们在构造时与之关联 . 调用此函数来更改关联的流缓冲区应该对该内部流缓冲区没有影响:流将具有与其内部流缓冲区不同的关联流缓冲区(尽管流上的输入/输出操作始终使用关联的流缓冲区,由该成员函数返回) . ...
  • 80 votes
     answers
     views

    操作后恢复std :: cout的状态

    假设我有这样的代码: void printHex(std::ostream& x){ x<<std::hex<<123; } .. int main(){ std::cout<<100; // prints 100 base 10 printHex(std::cout); //prints 123 in hex std::...
  • 1 votes
     answers
     views

    cout char *打印地址而不是值

    在模板类中,我使用以下内容重载了ostream <<运算符: friend std::ostream& operator<<(std::ostream &out, const DataItem<T> &cDataItem) { out << cDataItem.m_value; return o...
  • 510 votes
     answers
     views

    为什么循环条件中的iostream :: eof被认为是错误的?

    我刚刚在this回答中发现一条评论说在循环条件下使用 iostream::eof 是"almost certainly wrong" . 我通常使用类似 while(cin>>n) 的东西 - 我猜这是隐式检查EOF,为什么使用 iostream::eof 错误地检查eof? 它与在C中使用 scanf("...",...)!=EOF 有什么不同...
  • 4 votes
     answers
     views

    将RichTextBox的内容写入文件

    我有一个RichTextBox,我想将文本保存到文件中 . RichTextBox的每一行都以CR LF(“\ n \ r”)结束,但是当我将它保存到文件时,行末尾只包含LF char . 如果我将内容复制到剪贴板而不是文件都是正确的(剪贴板的内容在每行的末尾都有CR LF,我可以在粘贴记事本时看到它) . txtClass是RichTextBox . private void btnToCl...
  • 515 votes
     answers
     views

    为什么循环条件中的iostream :: eof被认为是错误的?

    我刚刚在this回答中发现了一条评论说在循环条件下使用 iostream::eof 是"almost certainly wrong" . 我通常使用类似 while(cin>>n) 的东西 - 我猜这是隐式检查EOF,为什么使用 iostream::eof 错误地检查eof? 它与在C中使用 scanf("...",...)!=EOF (我经常...
  • 7 votes
     answers
     views

    换行子进程'stdout / stderr

    我想捕获并显示我通过Python的子进程调用的进程的输出 . 我以为我可以将我的文件类对象作为命名参数stdout和stderr传递 我可以看到它访问 fileno 属性 - 所以它正在对该对象做一些事情 . 但是,永远不会调用 write() 方法 . 我的方法是完全关闭还是我错过了什么? class Process(object): class StreamWrapper(object...
  • 0 votes
     answers
     views

    使用fstream c读取字节数

    我使用fstream对象创建了一个读/写字节到二进制文件 #include <iostream> #include <fstream> using namespace std; #define COL_WIDTH 20 int writeBinaryFile(char *desPath); int readBinaryFile(char *desPath); int...
  • 0 votes
     answers
     views

    filestream将十六进制文件读入二进制缓冲区

    我有一个文件,包含十六进制文本,我想使用std :: fstream将其作为二进制缓冲区读取 示例文件: hex.txt 00010203040506070809 读这个应该导致读数从0到9 . 但是下面的代码没有做我想要的 . using std::ifstream; int main(int argc, char *argv[]) { ifstream hexfile...
  • 0 votes
     answers
     views

    为什么从流中读取不需要缓冲区刷新

    刚开始C学习 C++ Primer 5th ed. 本书第6页的第一个例子如下 #include <iostream> int main() { std::cout << "Enter two numbers:" << std::endl; int v1 = 0, v2 = 0; std::cin >>...
  • 0 votes
     answers
     views

    为什么cin将浮动值分成两部分?

    我有一个关于cin的问题 . int main(void) { int a; float b; cin >> a >> b; } 当我给出一个浮点数(例如3.14)作为输入时, a 和 b 都没有得到完整值(3.14):输出是a = 3,b = 0.14 . 我知道 cin 会按空格,制表符或Return分割输入,但'dot'不会,对吧? 为什么以...
  • 0 votes
     answers
     views

    命名空间定义和例外

    我在定义命名空间时遇到了一些麻烦 据我所知,我已经做好了一切 下面是我的代码和构建输出 FlashDrive.h #ifndef FLASHDRIVE_H #define FLASHDRIVE_H #include <iostream> #include <cstdlib> namespace cs52 { class FlashDrive { friend F...
  • 0 votes
     answers
     views

    C中std :: cin对象的规则是什么?

    我正在编写一个小程序,供我个人用来练习学习C及其功能,一个MLA引文生成器(我正在写一篇有几十次引用的大型论文) . 由于缺乏更好的方法(我不懂课程或在你的主要内部使用其他.cpp文件,所以不要打扰告诉我,当我有更多时间时我会继续工作),我正在写作每种引用的功能 . 如果我有更多的时间,我可能会将其分解为每个重用代码的函数 . 我的问题是:std :: cin对象是如何工作的?我目前正在使用std...
  • 0 votes
     answers
     views

    c:cin.getline()在指定回车之前切断输入

    我正在试图弄清楚如何正确使用cin.getline()并遇到一个我无法找到答案的问题 . 我正在为我正在学习的课程做作业,我需要能够使用cin从用户那里获取整行文本,包括空格 . 我们不能使用字符串,我们必须使用字符数组(这是分配的要求) . 我决定只使用cin.ignore()和cin.getline(ARRAY_NAME,'\ n') . 这是我的问题:cin.getline()好像正在拾取白...
  • 1 votes
     answers
     views

    制作从ifstream读入的成绩簿

    我必须从以下格式的文本文件中获取输入: Attendance: 5 Midterm: 20 Final: 20 Homework: 15 Projects: 40 Henry, Patrick Attendance: 12 15 Midterm: 80 100 Homework: 50 100 Homework: 60 100 Homework: 80 100 Project: 90 100 Pr...
  • 5 votes
     answers
     views

    为什么fstream不使用运算符的istream原型>>?

    我有一个类使用友元函数来重载运算符>> . 重载的操作符方法在标准cin使用上测试良好 . 但是,当我尝试升级代码以使用ifstream对象而不是istream对象时,原型不会被识别为有效方法 . 我理解ifstream是从istream继承的,因此,多态应该允许ifstream对象与istream重载函数一起运行 . 我的理解有什么问题? 是否有必要为每个输入流类型复制函数? 类: ...
  • 1 votes
     answers
     views

    C ;使用字符串getline()不使用文件输入

    我可以使用getline()来处理cin(getline(cin,line)),但是当我打开一个流时,它不会从文件中读取该行 . 该文件包含元素周期表中的元素列表 . 例如:H他Ø等等... 编辑: 但是,当我尝试cout新读取的行时,它不会将其放入行中的var符号:cout << "symbol: " << symbol << endl; ...

热门问题