精华内容
下载资源
问答
  • ifstream作为函数的参数要加&

    千次阅读 2017-06-11 16:40:13
    ifstream作为函数的参数要加& void foo(ifstream ifs) {} // 编译出错 void foo(ifstream& ifs) {} // 编译成功 原因:stream不能被复制

    ifstream作为函数的参数要加&

    void foo(ifstream ifs) {} // 编译出错

    void foo(ifstream& ifs) {} // 编译成功

    原因:stream不能被复制

    展开全文
  • C++ 中 ifstream 是一种常用的打开文件的方式,使用方式: void Void_data_read () { ifstream ifstream_myfile ( "E:\\Python_Work\\Lithology\\Lithology.txt" ); if ( !ifstream_myfile.is_open() ) { cout &...

    C++ 中 ifstream 是一种常用的打开文件的方式,使用方式:

    void Void_data_read ()
    {
        ifstream ifstream_myfile ( "E:\\Python_Work\\Lithology\\Lithology.txt" );
        if ( !ifstream_myfile.is_open() ) {
            cout << "未成功打开文件!" << endl;
            exit;
        }
        else {
            string string_currentLine;
            while ( getline( ifstream_myfile, string_currentLine ) ) {
                cout << string_currentLine << endl;
            }
        }
        return;
    }
    

    在第三行语句的括号中需要给出文件路径。常用方式:

    1. 直接在括号中写出文件路径并用双引号括起来,注意文件夹之间的反斜杠要写两个
    2. 在函数最前面 #define 路径值,如下:
    #define path "E:\\Python_Work\\Lithology\\Lithology.txt"
    void Void_data_read ()
    {
        ifstream ifstream_myfile ( path );
        if ( !ifstream_myfile.is_open() ) {
            cout << "未成功打开文件!" << endl;
            exit;
        }
        else {
            string string_currentLine;
            while ( getline( ifstream_myfile, string_currentLine ) ) {
                cout << string_currentLine << endl;
            }
        }
        return;
    }
    

    这种方式可以在函数中节省代码量,更易于修改路径。

    1. 将文件路径名称写入 char 型字符数组中,并将字符数组作为参数传递
    void Void_data_read ( char filePath[] )
    {
        ifstream ifstream_myfile ( filePath );
        if ( !ifstream_myfile.is_open() ) {
            cout << "未成功打开文件!" << endl;
            exit;
        }
        else {
            string string_currentLine;
            while ( getline( ifstream_myfile, string_currentLine ) ) {
                cout << string_currentLine << endl;
            }
        }
        return;
    }
    
    int main()
    {
    	char filePath[80] = path;
    	Void_data_read( filePath );
    	return 0;
    }
    

    如果采用 string 类型作为参数传递文件路径则会报错,如下:

    void Void_data_read ( string filePath )
    {
        ifstream ifstream_myfile ( filePath );
        if ( !ifstream_myfile.is_open() ) {
            cout << "未成功打开文件!" << endl;
            exit;
        }
        else {
            string string_currentLine;
            while ( getline( ifstream_myfile, string_currentLine ) ) {
                cout << string_currentLine << endl;
            }
        }
        return;
    }
    
    int main()
    {
    	string str_filePath = path;
    	Void_data_read( str_filePath );
    	return 0;
    }
    

    这种方式会报错:
    [Error] no matching function for call to ‘std::basic_ifstream::basic_ifstream(std::string&)’

    展开全文
  • ifstream fin

    千次阅读 2019-10-10 16:40:34
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...

    这里写自定义目录标题


    https://www.cnblogs.com/batman425/p/3179520.html

    展开全文
  • #include #include using namespace std; //带参数的主函数 int main(int argc, char** argv) { if(3 != argc) { cerr [0] ; } //argv是文件名 ifstream fin(argv[1]);
    #include <iostream>
    #include <fstream>
    using namespace std;
    
    //带参数的主函数
    int main(int argc, char** argv)
    {
    	if(3 != argc)
    	{
    		cerr << "Usage:" << argv[0] << "Source target" << endl;
    	}
    	//argv是文件名
    	ifstream fin(argv[1]);
    	if(!fin)
    	{
    		cerr << "open source file failed" << endl;
    		return -1;
    	}
    	
    	//argv也是文件名
    	ofstream fout(argv[2]);
    	if(!fout)
    	{
    		cerr << "open target file failed" << endl;
    		fin.close();
    		return -1;
    	}
    
    	//将打开的文件里的内容复制到新创建的文件里去。
    	char ch;
    	while(fin.get(ch))
    	{
    		fout.put(ch);
    	}
    
    	fin.close();
    	fout.close();
    }


    展开全文
  • string s = "E:\\" + id + ""+".txt"; ifstream(s); 其中id是字符串类型的变量,什么不能正确打开文件?怎么才能正确打开?求教!
  • ifstream使用getline()

    千次阅读 2019-06-21 16:41:38
    由于读取txt需要,因此,使用ifstream打开txt后,需要使用getline函数读取每行的数据,但是头文件一直掌握不好。这里只是简单的添加了#include<string>解决了这个问题。但是具体根源上的头文件,没有仔细研究...
  • ifstream用法

    千次阅读 2019-07-04 21:33:48
    getline的参数只能是char*,不能是string。 从文件中读取格式化字符串(格式化输入)sscanf,或者用正则表达式。否则,只能自己写代码,用字符串处理实现。 sscanf在vs2017中需要用sscanf_s代替。格式字符串类型...
  • 如题 转载于:https://www.cnblogs.com/goodness/archive/2011/11/23/2260736.html
  • default (1) ifstream(); initialization (2) explicit ifstream (const char* filename, ios_base::openmode mode = ios_base::in); explicit ifstream (const string& filename, ios_ba...
  • <code>std::ifstream purchasefile; purchasefile.open(cmmodity_file_name); if (!purchasefile) std::cout << "fail!"; else { std::string line; while (std::cin.getline(purchasefile, line)) ...
  • C++ 使用ifstream.getline()读取文件内容

    千次阅读 2020-07-01 22:59:22
    C++ 使用ifstream.getline() C++ 通过以下几个类支持文件的输入输出: ...所有的I/O都以这个“流”类基础的。 下文对ifstream.getline()的用法进行了总结1。 #include <iostream> #include <fstream&
  • C++11 文件操作(1)读文件ifstream

    千次阅读 2021-02-27 18:52:17
    今天我们的操作都是基于std::ifstream,但我们要从另外一个东西谈起: std::basic_ifstream。 #include <fstream> template< class CharT, class Traits = std::char_traits<CharT> > class ...
  • c++ IO库之ifstream的一些基本操作

    千次阅读 2018-08-19 09:44:22
    c++ IO库中关于文件的的流有六个,它们是ifstream wifstream ofstream wofstream fsream wfsream。w开始的是针对wchar_t类型的数据。从左到右分为三组,它们作用分别是:从文件读取数据、向文件写入数据、读写文件。...
  • ifstream和ofstream的理解

    千次阅读 2019-06-04 20:59:38
    ifstream和ofstream的理解 开发工具与关键技术:Visual Studio、C++ 作者:张国军 撰写时间:2019年05月03日 各种计算机应用系统通常把一些相关信息组织起来保存在外存储器中,称为文件,并用一个名字(称为文件名...
  • fstream、ifstream、ofstream创建新文件
  • //参数1 : 接收的缓冲区 , 参数2 : 读取的字节数 , 参数3 : 文件指针 // 该方法遇到空格 , 会继续读取 , 因此这里只需要读取一次即可 fgets ( buffer1 , 1024 , file_text_read_fgets ) ; cout ...
  • 假设源码文件 test.cpp,编译后运行 g++ test.cpp ./a.out 可以发现屏幕上打印了 names.data 中的内容,所在目录也生成了 testout.txt 文档,里面的内容是一样的。 自此,用 C++ 操作文本文件最基础的知识...
  • int main() { ifstream in_file("infile.txt", ios::in); ofstream out_file("outfile.txt", ios::out); string str; stringstream stream; #if 1 //测试文件输入流到stringstream stringstream 到 string in_file...
  • ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间。 在C++中,有一个stream这个类,所有的I/O都以这个“流”类基础的,包括我们要认识的文件I/O stream这个类有两个重要的运算符: ...
  • ifstream作为函数的参数要加& 参考:http://www.cnblogs.com/growup/archive/2011/03/03/1971528.html void foo(ifstream ifs) {} // 编译出错 void foo(ifstream&ifs) {} // 编译成功 原因:...
  • ofstream和ifstream详细用法 ofstream是从内存到硬盘,ifstream是从硬盘到内存
  • C++输入文件流ifstream用法详解 目录 输入流的继承关系: 成员函数 Public member functions 1, (constructor) 2,ifstream::open 3,ifstream:: is_open 4,ifstream:: close 5,ifstream:: rdbuf ...
  • c++输入文件流ifstream用法详解

    万次阅读 多人点赞 2018-05-18 20:42:29
    参数 pos 是流中的绝对位置可以转化 int 参数 off 是偏移量,与way相关,类型是 int 参数 way 可以选下表中的任意一个常量。 value offset is relative to… ios_base::beg beginning of the stream ios_base::...
  • C++文件读写详解(ofstream,ifstream,fstream)

    万次阅读 多人点赞 2011-10-10 16:33:54
    在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: #include ofstream //文件...
  • C++学习笔记(六)——C++输入输出流 C++语言的输入输出机制包含3层,前两层是从传统的C语言继承而来,...底层I/O将外部设备和磁盘文件都等同于逻辑文件,采用相同的方法进行处理,一般过程“打开文件”、“读写文...
  • 创建一个对象,然后调用该对象的open函数,其主要有两个参数,第一个参数是字符串,表示文件的地址,第二个参数是代开方式,如: fstream fin(a.txt,ios::in); if(fin) { cout<<opened<<endl; fin....
  • 1、ifstream从一个给定文件读取数据 2、ofstream向一个给定文件写入数据 3、fstream可以读写给定文件 fstream除了继承了iostream类型的行为外,还增加了一些新的功能,所以IO类型不能调用这些新的功能: 1、...
  • ifstream的open函数问题

    千次阅读 2019-07-07 01:10:53
    因为open()成员函数的参数是一个char *类型的量,要通过调用 string类的c_str()函数返回一个C风格的字符串(也就是一个字符数组的首地址,即char *值)才可以调用open()函数。 我照着上面的方法改了,问题解决了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,243
精华内容 5,697
关键字:

参数为ifstream