【问题标题】:LPCSTR data type conversion in problem in c++C++ 中的 LPCSTR 数据类型转换问题
【发布时间】:2022-08-19 18:49:30
【问题描述】:

我从 swagger 那里得到了一些 JSON 值。我需要在我的函数接受的格式中转换这些值。

mt4 功能:

JournalRequest(const int mode,const __time32_t from,const __time32_t to,LPCSTR filter,int *total)

对于转换日期,我只是输入(__time32_t),一切正常。但是当我尝试将过滤器值从字符串转换为 LPCSTR 时,它只返回第一个字符值。我被困。有什么帮助吗?

我是 StackOverflow 的新手,如果问题没有得到解决,请原谅我。

这是我的代码:

            int total;
             ServerLog* records;
             web::json::value jTrades;
             utility::string_t from, to, filter, mode;

             std::wistringstream ss;
             web::json::value jRecords;
             time_t _from = 0, _to = 0;
             int _mode;
             int k = 0;
             int year = 0, month = 0, day = 0, hour = 0, min = 0;

             mode = params[U(\"mode\")];
             to = params[U(\"to\")];
             from = params[U(\"from\")];
             filter = params[U(\"filter\")];

            std::string fromStringT(filter.begin(), filter.end());
        

         loginfo << \"Input From: \" << _from << \" To:\" << _to << \" Filter:\"  << filter << endl;

         records = man->JournalRequest(_mode, (__time32_t)_from, (__time32_t)_to, filter, &total);
  • 您之前发布了类似的问题,并被要求提供minimal reproducible example。如果您再次发布缺少详细信息的问题,则可能会再次关闭。
  • @463035818_is_not_a_number 你说的细节是什么意思?我在这里发布我的完整代码吗?
  • 阅读链接:minimal reproducible example。一个最小的可重现示例是不是你的完整代码。它是一个小例子,足以说明您的问题,但仅此而已
  • 只有第一个字符的问题出在您的代码中。除非您展示它,否则我们无法知道它是什么

标签: c++ types mt4 lpcstr


【解决方案1】:

这应该这样做:

std::string s{ filter };

它将复制字符串。如果您只是想要一个更好的指针包装器,而不是复制缓冲区,您可以这样做:

std::string_view s{ filter };

【讨论】:

  • 它给出错误不完整类型是不允许的。
猜你喜欢
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多