gpt4 book ai didi

c++ - vector 字符串到字符串(或 c_string)到 lpszString

转载 作者:行者123 更新时间:2023-11-28 02:53:44 26 4
gpt4 key购买 nike

(我有一些拼字游戏字符串操作 C++ 代码,我试图用 win32api 运行它。)

void print_plain_vector_strings(vector<string> S) //works fine

{
for(vector<string>::const_iterator it=S.begin(); it !=S.end(); ++it)
cout<<*it<<endl;
}

问题:

  1. 如何使用 printf 而不是 cout 重写 print_plain_vector_strings?

    printf(“%s\n”, *it);  //is the idea
  2. 我现在如何使用 TextOut 将 *it 内容发送到 win32 API?

    TextOut(hdc,x,y,*it,length);  //is the idea

我希望一定有一种简单的方法可以做到这一点,但是,不知何故,我找不到任何方法。

最佳答案

使用c_str() string 返回 char* C 字符串的方法:

printf(“%s\n”, (*it).c_str());

对于 TextOut,您需要将 ANSI C 字符串转换为 Unicode。如果您只使用 ANSI,你可以这样写:

TextOut(hdc, x, y, (*it).c_str(), (*it).length());   // UNICODE is not defined

此外,最好通过引用传递 vector ,现在它正在复制每个调用:

void print_plain_vector_strings(const vector<string>& S)

关于c++ - vector 字符串到字符串(或 c_string)到 lpszString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22474307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com