Я иду с фона C#, и мой C++ очень ржавый, поэтому, пожалуйста, несите меня.Синтаксис указателя строки, это правильно?
Следующее определение функции принимает указатели (LPTSTR) на строки, представляющие входное имя файла (szIn) и имя выходного файла (szOut). Вот прототип функции:
ConvertFile(LPTSTR szIn, LPTSTR szOut);
В настоящее время функция выполняется внутри некоторого кода пользовательского интерфейса, вот пример того, как имя выходного файла получается из указателя szOutput
:
TCHAR szOutput[255]; // output filename
if (g_szFilename[0] != 0)
{
SetDlgItemText(hMainDlg, IDC_EDIT_INPUT, g_szFilename);
_tcscpy(szOutput, g_szFilename);
TCHAR * szExt = _tcsrchr(szOutput, '.');
if (szExt != NULL) *szExt = 0;
_tcscat(szOutput, _T(".png"));
}
Я хочу сделать что-то в этих строках:
TCHAR inputFilename[256];
TCHAR outputFilename[256];
inputFilename += "somefile.txt";
outputFilename += "someotherfile.txt";
char *inputPtr;
char *outputPtr;
inputPtr = inputFilename;
outputPtr = outputFilename;
ConvertFile(inputPtr, outputPtr);
Является ли это правильным синтаксисом для вкуса Microsoft C++ в Visual Studio 2008?
C и C++ - это два разных языка и делают это * очень * по-разному. На каком языке вы используете? –
@BoPersson Я отредактировал, чтобы уточнить, что я использую C++ здесь, извините за путаницу. –
«Чувство Microsoft C++ в Visual Studio 2008» - это просто C++ - почему это было бы иначе в любом случае (ошибки в модульном компиляторе)? Обратите внимание, что VC++ также компилирует язык под названием C++/CLI, возможно, это то, о чем вы говорите? Если это так, код, который вы показали, далек от идиоматического. – ildjarn