/*CFile MyFile1("C:\\ori.txt",CFile::modeRead);
CFile MyFile2("C:\\test.txt",CFile::modeCreate|CFile::modeWrite);
DWORD Length=MyFile1.GetLength();
char *p=new char[Length];
MyFile1.Read(p,Length);
MyFile2.Write(p,Length);
MyFile1.Close();
MyFile2.Close();
MessageBox(p,"File Copy Succeed",0);*/
FILE *File1;
FILE *File2;
File1=fopen("C:\\ori.txt","r");
File2=fopen("C:\\test.txt","w");
fseek(File1,0,SEEK_END);
int Length1=ftell(File1);
fseek(File1,0,0);
char *tmp=new char[Length1];
fread(tmp,sizeof(char),Length1,File1);
fwrite(tmp,sizeof(char),Length1,File2);
fclose(File1);
fclose(File2);
MessageBox(tmp,"File Copy Succeed",0);
ori.txt的内容是
zhen me hui
shi
qing?
bu hao
yong ?
7456CFile写出来的就正常。
File的,写完了后面有好几个"屯"字
CFile MyFile2("C:\\test.txt",CFile::modeCreate|CFile::modeWrite);
DWORD Length=MyFile1.GetLength();
char *p=new char[Length];
MyFile1.Read(p,Length);
MyFile2.Write(p,Length);
MyFile1.Close();
MyFile2.Close();
MessageBox(p,"File Copy Succeed",0);*/
FILE *File1;
FILE *File2;
File1=fopen("C:\\ori.txt","r");
File2=fopen("C:\\test.txt","w");
fseek(File1,0,SEEK_END);
int Length1=ftell(File1);
fseek(File1,0,0);
char *tmp=new char[Length1];
fread(tmp,sizeof(char),Length1,File1);
fwrite(tmp,sizeof(char),Length1,File2);
fclose(File1);
fclose(File2);
MessageBox(tmp,"File Copy Succeed",0);
ori.txt的内容是
zhen me hui
shi
qing?
bu hao
yong ?
7456CFile写出来的就正常。
File的,写完了后面有好几个"屯"字
解决方案 »
- 一个百思不得其解的问题
- 为什么图标在提示条上显示不出来
- 通过静态分割已经完成(大家可以参考下),现在对于TREE选择后,另外边的分割做相应的处理(一个分割或者两个分割)
- 实时获取两个摄像头数据
- 求vc技术内幕webserver一章中的源代码。
- jpg文件一般如何进行处理(比如平滑、边缘提取等),是不是先得转化为bmp再处理?
- 数学问题,关于≡,见笑
- VC中如何动态导出导入SQLServer中的数据库
- 解决CStdioFile.ReadString读取中文产生乱码问题
- My question 巨简单,关于ListBox控件。
- VC高手们,我现在在VC环境下编写了一个DLL,然后在PB下调用这个DLL,我是在另外一台机器上编写DLL的,...请进来看看!
- 菜鸟问题,急
但FILE与HANDLE却都要写成\r\n才可以回车换行
好像是用FILE读出来的比文件的长度小,是\r引起的原因不过读写都用一种方式就不会有问题
还有cfile写文件的时候,好像如果进行自动换行就会出现位置不对现象
我不能用mfc
CFile MyFile2("d:\\temp\\test.txt",CFile::modeCreate|CFile::modeWrite);
DWORD Length=MyFile1.GetLength();
char *p=new char[Length+1];
MyFile1.Read(p,Length);
MyFile2.Write(p,Length);
MyFile1.Close();
MyFile2.Close();
p[Length] = 0;
MessageBox(p,"File Copy Succeed",0);
delete[Length+1] p;
FILE *File1;
FILE *File2;
File1=fopen("d:\\temp\\ori.txt","rb");
File2=fopen("d:\\temp\\test.txt","wb");
fseek(File1,0,SEEK_END);
int Length1=ftell(File1);
fseek(File1,0,0);
char *tmp=new char[Length1+1];
fread(tmp,sizeof(char),Length1,File1);
fwrite(tmp,sizeof(char),Length1,File2);
fclose(File1);
fclose(File2);
tmp[Length1] = 0;
MessageBox(tmp,"File Copy Succeed",0);
delete[Length1+1] tmp;
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL);
if(hFile == INVALID_HANDLE_VALUE)
return FALSE; char *data = new char[2048];
DWORD dw;
int ret = ::ReadFile(hFile, data, 2048, &dw, NULL);
if (!ret && dw == 0)
{
delete []data;
::CloseHandle(hFile);
return FALSE;
} char *p = data;
::CloseHandle(hFile);
HANDLE hFile = ::CreateFile(lpWritePath, GENERIC_READ|GENERIC_WRITE, 0,
NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL,
NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
TRACE("创建文件:%s失败\n", lpWritePath);
return FALSE;
}
DWORD dw;
::WriteFile(hFile, m_szOuterCheckData, strlen(m_szOuterCheckData), &dw, NULL);
::WriteFile(hFile, pWriteData, nWriteLen, &dw, NULL);
::CloseHandle(hFile);
说明你的串没有结束标志 :\0