读书人

求C++代码解决方法

发布时间: 2013-01-06 15:44:48 作者: rapoo

求C++代码
怎么从一个文件中按规定的字节读取数据然后写入新的数据里。
例如:1.txt为10kB,把5KB写入1.1txt,5KB写入1.2txt
求关键代码 。。。
[解决办法]

#include <iostream>
#include <fstream>
#include <string>

#define BUFFER_SIZE 1024

using namespace std;

int main(int argc, char *argv[])
{
ifstream ifs("1.txt", ios::in);
ofstream ofs1("1_1.txt", ios::app);
ofstream ofs2("1_2.txt", ios::app);

char buffer[BUFFER_SIZE];

for (int i = 0; i < 5; ++i)
{
ifs.read(buffer, BUFFER_SIZE);
ofs1.write(buffer, BUFFER_SIZE);
}

for (int i = 0; i < 5; ++i)
{
ifs.read(buffer, BUFFER_SIZE);
ofs2.write(buffer, BUFFER_SIZE);
}

return 0;
}

[解决办法]
提醒:
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

[解决办法]
引用:
引用:C/C++ code
?



123456789101112131415161718192021222324252627282930

#include <iostream> #include <fstream> #include <string> #define BUFFER_SIZE 1024 using ……



#include <iostream>
#include <fstream>
#include <string>

#define BUFFER_SIZE 1024

using namespace std;

int main(int argc, char *argv[])
{
ifstream ifs("1.txt", ios::in);
ofstream ofs1("1_1.txt", ios::app);
ofstream ofs2("1_2.txt", ios::app);

char buffer[BUFFER_SIZE];
int i = 0;
for (i = 0; i < 5; ++i)
{
ifs.read(buffer, BUFFER_SIZE);
ofs1.write(buffer, BUFFER_SIZE);
}

for (i = 0; i < 5; ++i)
{
ifs.read(buffer, BUFFER_SIZE);
ofs2.write(buffer, BUFFER_SIZE);
}

return 0;
}


你什么编译器啊?

读书人网 >C语言

热点推荐