안녕하세요 기초 수준이 초보라... 이상하게 계속 오류가 나거나
저장이 되더라도.. 파일이 구동이 되지 않아서.. 며칠째 같은 코드만 계속 치는거 같아서..
도무지 이해도 안되어서 이렇게.....
파일을 사이즈씩 vector담아서.. 그 데이터를 .... 저장하고 싶습니다.
ㅜㅜ;;;
-----------------------1
#include <stdio.h>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <iterator>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
std::ifstream in_file;
std::ofstream out_file;
vector<unsigned char *> sendI;
vector<unsigned char *>::iterator sendIt;
in_file.open("aa.mp3" , ios::in|ios::binary |ios::ate);
out_file.open("bb.mp3", ios::out |ios::binary | ios::trunc);
in_file.seekg(0,ios::end);
int len = in_file.tellg();
in_file.seekg(0,ios::beg);
int check = 1024;
int wilecout = len/check;
int noreadcout = 0;
int v_count =0;
unsigned char *Orig = new unsigned char[check];
int i=1;
while ( i <= wilecout )
{
in_file.seekg(noreadcout-1,ios::beg);
in_file.read((char *)Orig,check);
sendI.push_back(Orig);
noreadcout = check*i;
i++;
}
v_count = len -noreadcout;
if(v_count > 0)
{
in_file.read((char *)Orig,v_count);
sendI.push_back(Orig);
}
out_file.write((const char*) sendI[i],check);
cout << len << endl;
cout << sendI.size() << endl;
out_file.flush();
out_file.close();
in_file.close();
return 0;
}
-----------------------------------------2
#include <stdio.h>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <iterator>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
std::ifstream in_file;
std::ofstream out_file;
vector<unsigned char *> sendI;
vector<unsigned char *>::iterator sendIt;
in_file.open("aa.mp3" , ios::in|ios::binary |ios::ate);
out_file.open("bb.mp3", ios::out |ios::binary | ios::trunc);
in_file.seekg(0,ios::end);
int len = in_file.tellg();
in_file.seekg(0,ios::beg);
int check = 1024;
int wilecout = len/check;
int noreadcout = 0;
int v_count =0;
int i=1;
while ( i <= wilecout )
{
unsigned char *Orig = new unsigned char[check];
in_file.seekg(noreadcout,ios::beg);
in_file.read((char *)Orig,check);
sendI.push_back(Orig);
//cout << sendI[1] << endl;
noreadcout = check*i;
i++;
}
v_count = len -noreadcout;
if(v_count > 0)
{
unsigned char *Orig1 = new unsigned char[v_count];
in_file.read((char *)Orig1,v_count);
sendI.push_back(Orig1);
}
char *ttt = new char[len*2];
for(sendIt = sendI.begin(); sendIt != sendI.end(); sendIt++)
{
strcat(ttt,(char *)*sendIt);
}
out_file.write((const char*)ttt,len);
cout << len << endl;
cout << sendI.size() << endl;
out_file.flush();
out_file.close();
in_file.close();
return 0;
}
계속 그자리를 맵도는 것 같아서요..ㅜㅜ;;
혼자 보다가 보니까 이리저리 답을 구하기가 쉽지 않아서 이렇게 .. 글을 올려봅니다.
[최초 등록일: ]
[최종 수정일: 1/26/2010]