c_cpp 如果不存在,则将换行符附加到文件末尾。修改自https://support.microsoft.com/en-us/kb/268901

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 如果不存在,则将换行符附加到文件末尾。修改自https://support.microsoft.com/en-us/kb/268901相关的知识,希望对你有一定的参考价值。

#include<windows.h>
#include<iostream>
#include<fstream>
using namespace std;

int main(int argc, char* argv[])
{
	if(argc !=2)
	{
		cout << "Please specify : endline append filename" << endl;
		return 0;
	}
	
	//Open the file for reading in binarymode.
	ifstream fp_read(argv[1], ios_base::in
		| ios_base::binary);

    if (fp_read.bad())
    {
        cout << "append_newline: cannot open file: " << argv[1];
    }
    
    fp_read.seekg(-1, fp_read.end);

    if (fp_read.bad())
    {
        return 0;
    }

    char ch;
    fp_read.get(ch);
    if (ch == '\n')
        return 0;
	
    // close before open to write
    fp_read.close();

    // append new line
    ofstream fp_write(argv[1], ios_base::out
        | ios_base::app
        | ios_base::binary);
    fp_write << "\r\n";

	return 0;
}

以上是关于c_cpp 如果不存在,则将换行符附加到文件末尾。修改自https://support.microsoft.com/en-us/kb/268901的主要内容,如果未能解决你的问题,请参考以下文章

php 在数组中的特定键后插入值或键/值对。如果key不存在,则将值附加到数组的末尾。

如果文件不存在,则创建它并将字符串写入其中。如果确实如此,则将字符串附加到它。工作不正常

如果在文件末尾省略PHP块的结束标记,是否会删除任何换行符或空格(如果存在于相应的文件中)?

如何将输出附加到文本文件的末尾

仅当文件尚不存在时才将行附加到文件中

Linux基础知识