C++Builder 程序员博客
21 Aug
在delphi中的进程转化成C++ Builder的什么?
例如procedure madefilename;
var
s3,s4:string;
l,i:integer;
f1:textfile;
begin
filename:=datetostr(now)+'time';
s3:=timetostr(time);
l:=length(s3);
for i:=1 to l do
begin
s4:=copy(s3,i,1);
if s4 <>':' then
begin
filename:=filename+s4;
end
end;
assignfile(f1,filename);
rewrite(f1);
closefile(f1);
end;
我要时转化成C++ Builder中
void __fastcall madefilename() { AnsiString s3,s4; int l,i; FILE *f1; filename = DateToStr(Now()) + "time"; //s3 = TimeToStr(Time()); //l = s3.Length(); //for (i = 1 ;i<= l;i++) //{ // s4 = s3.SubString(i,1); // if (s4 != ":" ) // { // filename = filename + s4; // } //} filename = filename + FormatDateTime("hhnnss", Now()); f1 = fopen(filename,"w"); fclose(f1); }
僵哥,你在帮我看看这个问题
http://topic.csdn.net/u/20080819/10/dd19702b-b540-4f04-9a8e-351f330d2397.html
谢谢!
僵哥这两句不懂,你能翻译下吗?"hhnnss" ,"w" 各代表什么意思
filename = filename + FormatDateTime("hhnnss", Now());
f1 = fopen(filename,"w");
你用斜线把中间那部分不能使用又时什么意思?
僵哥还有四个错误
[C++ Error] jieshou.cpp(61): E2451 Undefined symbol 'FILE'
[C++ Error] jieshou.cpp(61): E2451 Undefined symbol 'f1'
[C++ Error] jieshou.cpp(63): E2451 Undefined symbol 'filename'
[C++ Error] jieshou.cpp(75): E2268 Call to undefined function 'fopen'
[C++ Error] jieshou.cpp(76): E2268 Call to undefined function 'fclose'
再麻烦你看看
#include <stdio.h>
定义filename
AnsiString filename;
FILE *f1; 定義在涵數前面,
filename 沒定義啊。。
f1 = :fopen(filename,"w");
:fclose(f1);
呵呵,不好意思
还有错,加上AnsiString filename;
在这句中f1 = fopen(filename,"w"); 出现
[C++ Error] jieshou.cpp(77): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] jieshou.cpp(77): E2342 Type mismatch in parameter '__path' (wanted 'const char *', got 'AnsiString')
这两个错误
要是不加就出现这个错误C++ Error] jieshou.cpp(63): E2451 Undefined symbol 'filename'
把filename換成char 型。才能用fopen
要是换成char filename;出现更多错误又是怎么回事
f1 = fopen(filename.c_str(),"w");
fopen,fclose前面加::不?
解决了,能给我解释下吗?
FILE *fopen(const char *filename, const char *mode);
fopen 只能支持char型啊,,
filename.c_str(),就把AnsiStirng換成了char型。