|
用易写按照指定长度分割,如果数据大于10-30M时很慢,这个是deepseek用C++写的,函数SplitTextIntoLines这个可以正常调用,FreeMemory调用就提示堆栈错误,下面把c++代码给贴上来,没币了,有懂c++的大佬给帮忙看下,还是说处理完数据不需要释放内存
#include <windows.h>
#include <string>
#include <vector>
#include <cstring> // 用于 _strdup 函数
// 导出函数:将文本分割为每行 100 个字符
extern "C" __declspec(dllexport) char* __stdcall SplitTextIntoLines(const char* inputText) {
std::string text(inputText); // 输入文本
std::string result; // 结果文本
// 每 100 个字符插入换行符
for (size_t i = 0; i < text.length(); i += 100) {
result.append(text.substr(i, 100)); // 添加 100 个字符
result.push_back('\r\n'); // 添加换行符
}
// 返回动态分配的字符串(调用者需要释放)
return _strdup(result.c_str());
}
// 导出函数:释放动态分配的内存
extern "C" __declspec(dllexport) void FreeMemory(char* ptr) {
if (ptr) {
free(ptr); // 释放内存
}
}
|
|