-1

我的程序的操作顺序是(通过dll调用创建文件->读取创建的文件)

但它不起作用。

调用dll后ReadAllLine函数不起作用,进入无限等待状态。使用的cpu也是0。

如何运行函数并读取文件?

[DllImport("Pcap_Parsing.dll", EntryPoint = "DEC_Parsing", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]

string FilePath = "file~~~/~~~/~~~.pcap"
string[] FileLines;

public static extern void DEC_Parsing(string fn);

Parsing(FilePath); //file create test.ini
FileLines = System.IO.File.ReadAllLines(~~~~path/test.ini); //When this function is executed, the cpu usage becomes 0 and it is in an infinite wait state. 
4

1 回答 1

0

pcap 文件不是文本文件,我认为很难使用将行读取到字符串 [] 的方法。在不解析的情况下尝试它可能会起作用,因为保存在设备上的所有文件都是二进制文件。

    [DllImport("Pcap_Parsing.dll", EntryPoint = "DEC_Parsing", ExactSpelling = 
    true, CallingConvention = CallingConvention.Cdecl)]

    string FilePath = "file~~~/~~~/~~~.pcap"
    string[] FileLines;
    
    public static extern void DEC_Parsing(string fn)
    {
        var FileLines = System.IO.File.ReadAllBytes(filePath);

        string fileDecode = Encoding.ASCII.GetString(FileLines);
    } 
于 2021-04-22T07:05:17.743 回答