
24.02.2008, 18:54
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Сообщение от nc.STRIEM
покажи код.
Вот те для примера прога для конвертации бинарных файлов
Код:
#include <stdio.h>
#include <IO.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
if(argc < 2)
return printf("USE: %s file_path\n", argv[0]);
FILE *fr, *fw;
fr=fopen(argv[1], "rb");
fw=fopen("result.txt", "wb");
if(!fr || !fw)
return printf("Open file error\n");
int size=filelength(fileno(fr));
unsigned char c;
while(size > 0)
{
c=fgetc(fr);
printf("\\0x%X", c);
fprintf(fw, "\\0x%X", c);
size--;
}
fclose(fw);
fclose(fr);
system("result.txt");
remove("result.txt");
return 0;
}
Пример какай то странный .Я его вот так изменил
Код:
main()
{
char a[256];
ExpandEnvironmentStrings("%HOMEPATH%",a,256);
strcat(a,"\\Application Data\\ICQ\\208190791\\208190791.FB");
FILE *fr, *fw;
fr=fopen(a, "rb");
fw=fopen("result.txt", "wb");
int size=filelength(fileno(fr));
unsigned char c;
while(size > 0)
{
c=fgetc(fr);
printf("\\0x%X", c);
fprintf(fw, "\\0x%X", c);
size--;
}
fclose(fw);
fclose(fr);
system("result.txt");
remove("result.txt");
return 0;
}
В и тоге он мне в stdout выдает бесконечный поток \0xFF
А вот и мой код
Код:
#include <windows.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int stf(char *buf=new char[1024*10])
{
int sz,n,stop;
char a[256];
DWORD szf,rb;
char *buf2=new char[1024*10];
ExpandEnvironmentStrings("%HOMEPATH%",a,256);
strcat(a,"\\Application Data\\ICQ\\208190791\\208190791.FB");
HANDLE h=CreateFile(a,GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);
szf=GetFileSize(h,0);
stop=0;
ReadFile(h,buf2,szf,&rb,NULL);
for(;;)
{
if(strlen(buf2)>0)
{
strcat(buf,buf2);
buf2+=strlen(buf2);
}
if(strlen(buf2)==0)
{
buf2+=1;
stop++;
}
if((strlen(buf))+stop==szf)
{
break;
}
}
CloseHandle(h);
return(szf);
}
main()
{
char *a=new char[1024*10];
cout<<stf(a)<<"\n";
printf(a);
getch();
}
Но он кроме текста выводит ещё кучу левого мусора  Может у кого есть идеи как от него исбавится?
Последний раз редактировалось _nic; 24.02.2008 в 19:48..
|
|
|