我从1998年左右开始使用旧的Borland C ++ Builder。我经常遇到字符串处理问题。我没有找到帮助文件中的字符串例程的很好的总结。在互联网上我找到了一些信息,但是经常找不到引用的例程。 (我是否未能包含它们或者它们是否来自更高版本?)现在我遇到“替换”问题。
#include "string.h"
#include <SysUtils.hpp>
tmpstr = StringReplace( tmpstr, "target", "replacement", TReplaceFlags() );
例如,上面的代码导致:“调用未定义的函数StringReplace”
感谢您的建议,谢谢。
答案 0 :(得分:0)
基于他们的文档here,您需要#include,而不仅仅是SysUtils.hpp或string.h
答案 1 :(得分:0)
我的建议是使用std::string
或std::wstring
进行所有字符串处理;只有在必须与VCL组件接口时才转换回AnsiStrings。我不会打扰任何AnsiString成员函数或在AnsiString上运行的自由函数。
考虑使用更现代的编译器! (以前的Borland C ++有最新版本,虽然它们需要花钱)。
答案 2 :(得分:0)
不知道您使用的是哪个版本,但请尝试这样做:
#include <StrUtils.hpp>
extern DELPHI_PACKAGE System::AnsiString __fastcall AnsiReplaceStr(const System::AnsiString AText, const System::AnsiString AFromText, const System::AnsiString AToText)
或输入Ansi ReplaceStr和F1