Visual Studio 2010 — преобразовать строку в вариант в Stack Overflow

У меня есть этот текущий код, который вводит «AAPL» в лист Excel, и возвращает соответствующее значение.

Я хотел бы сделать так, чтобы после cout << "Ticker: "; я могу ввести символ тикера (например, AAPL) и использовать его как variant_t ticker = "xxx". Я пытался сделать это с помощью string но я получаю ошибку, которая говорит, что не может конвертировать из 'std::string to const _variant_t &' Есть какой-либо способ сделать это? Заранее спасибо.

 XL->Workbooks->Open(L"F:\\xxx\\Desktop\\fxxxx.xlsx");
Excel::RangePtr pRange = pSheet->Cells;

cout << "Ticker: ";
variant_t ticker = "AAPL";

pRange->Item[2][1] = ticker;
double value = pRange->Item[2][2];
cout << "\n Value = " << value << endl;

8

Решение

Вызов ticker.SetString(str.c_str()) должен сделать работу.

Увидеть:
http://msdn.microsoft.com/en-us/library/x295h94e%28v=vs.100%29.aspx

6

Другие решения

Вот рабочий код:

    XL->Workbooks->Open(L"F:\\xx\\Desktop\\xxz.xlsx");                              //Open databse
Excel::_WorksheetPtr pSheet = XL->ActiveSheet;                                      //Point to Active Sheet
Excel::RangePtr pRange = pSheet->Cells;                                             //Point to Active Cells
cout << " Ticker: ";                                                                //Prompt Ticker
string tick;                                                                        //Define string "tick" to store ticker
cin >> tick;                                                                        //Store ticker
variant_t ticker;                                                                   //Define variant to be used for ticker
ticker.SetString(tick.c_str());                                                     //Convert string to variant
pRange->Item[2][1] = ticker;                                                        //Write ticker to cell
double bi = pRange->Item[2][2];                                                     //Read Beta, store as "bi"cout << "\n Beta = " << bi << endl;                                                 //Return Value
XL->Application->Quit();
2

По вопросам рекламы [email protected]