使用 C# 从 RLM 读取许可证文件(C++ 到 C# 的翻译)

Posted

技术标签:

【中文标题】使用 C# 从 RLM 读取许可证文件(C++ 到 C# 的翻译)【英文标题】:Reading license file from RLM with C# (C++ to C# translation) 【发布时间】:2010-11-29 13:23:29 【问题描述】:

我正在使用 Reprise RLM 许可证管理器来研究 Internet 激活。我不知道如何使用 C# 将许可证文件从网络服务器获取到文本文件中(我对 C# 也很陌生)。

RLM 附带了一个 C++ 示例,但我无法翻译。

我的代码(用于演示)如下所示:

int stat = RLM.rlm_act_request(handle, "http://www.reprisesoftware.com", "rlmactdemo", activationKey, "", "", 1, "", new byte[RLM.RLM_MAX_LINE+1]);
if (stat == 0||stat == 1)
   //Successful connection
   //Read license file and write to local machine

rlm_act_request 建立并验证连接。建立后,如何访问该文件并将其写入本地文件?

该 if 语句中的任何内容的 C++ 代码如下:

char name[100];
char license[100];
int try;
FILE *f, *fopen();
stat = 1;

for (try=0; try<100; try++)

    sprintf(name, "a%d.lic", try);
    f = fopen(name, "r");
    if (f == (FILE *) NULL)
    
        f = fopen(name, "w");
        if (f)
        
            fprintf(f, "%s\n", license);
            fclose(f);
            break;
        
        else
        
            printf("Error writing license file \"%s\"\n", name);
            stat = -1;
            break;
        
    

什么是 C# 等价物?

【问题讨论】:

【参考方案1】:

嗯,这非常容易。事实证明,传递给 rml_act_request() 的“新字节 []”包含许可证文件的内容。我所要做的就是将其设为局部变量,将其转换为字符串并使用 TextWriter.WriteLine(); 将其写入文件;

我希望这已经记录在某处......

【讨论】:

以上是关于使用 C# 从 RLM 读取许可证文件(C++ 到 C# 的翻译)的主要内容,如果未能解决你的问题,请参考以下文章

读取从 c++ 发送到 C# 的 lParam 作为字符串

C#中怎么读取Struct(结构体)文件!!!!??救救我!!!!

C++ SDK 集成到 C# 程序中

将复杂的结构(带有结构的内部数组)从 C# 传递到 C++

如何通过引用从 c# 到 c++ 传递字节数组

c++ c#