To answer the first part of your question:
LPCSTR
is a pointer to a const string (LP means Long Pointer)
LPCTSTR
is a pointer to a const TCHAR
string, (TCHAR
being either a wide char or char depending on whether UNICODE is defined in your project)
LPTSTR
is a pointer to a (non-const) TCHAR
string
In practice when talking about these in the past, we’ve left out the “pointer to a” phrase for simplicity, but as mentioned by lightness-races-in-orbit they are all pointers.
This is a great codeproject article describing C++ strings (see 2/3 the way down for a chart comparing the different types)
Related Posts:
- Windows 7 exception code: 0xc0000409
- Difference between ‘strcpy’ and ‘strcpy_s’?
- VC++ fatal error LNK1168: cannot open filename.exe for writing
- VC++ fatal error LNK1168: cannot open filename.exe for writing
- outputting ascii table in C++
- What is `CString`?
- Unresolved external symbol in object files
- Unresolved external symbol in object files
- finding dll for “The specified module could not be found”
- How to use _CRT_SECURE_NO_WARNINGS
- How can I clear console
- How to go from fopen to fopen_s
- undefined reference to WinMain@16 (codeblocks)
- “X does not name a type” error in C++
- make: g++: Command not found
- Exception Error c0000005 in VC++
- Visual Studio debugger error: Unable to start program Specified file cannot be found
- MinGW: “gcc is not recognized as an internal or external command”
- LNK1168: cannot open debug\file.exe for writing
- Identifier is undefined
- How do I add the MinGW bin directory to my system path?
- Run C++ in command prompt – Windows
- error MSB3073: How do I fix this?
- LINK : fatal error LNK1561: entry point must be defined ERROR IN VC++
- How to get Current Directory?
- Cannot open Windows.h in Microsoft Visual Studio
- The program can’t start because libgcc_s_dw2-1.dll is missing
- Is there a replacement for unistd.h for Windows (Visual C)?
- LINK : fatal error LNK1561: entry point must be defined ERROR IN VC++
- Win32 Console Application
- https://stackoverflow.com/questions/3865946/error-generic-array-creation
- C++ Compiler Error C2280 “attempting to reference a deleted function” in Visual Studio 2013 and 2015
- error C2601: ‘main’ : local function definitions are illegall – MS VS 2013 Compiler
- cin.eof() functionality
- LINK : fatal error LNK1561: entry point must be defined ERROR IN VC++
- CMake : C and CXX compiler identification is unknown Win10 CMakeGUI
- error LNK2019: unresolved external symbol “” referenced in function
- What is the source of the data for the ProgramFiles, ProgramW6432Dir, ProgramFilesDir (x86), CommonProgramFiles environment variables?
- REGSVR32: the module “xxxxx.dll” failed to load … dependent assembly could not be found
- error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
- Download c++ in existing visual studio 2017
- module unsafe for SAFESEH image C++
- Unexpected end of file error
- How do you convert CString and std::string std::wstring to each other?
- Get Current Time in mm/dd/yyyy in C++
- How to throw a C++ exception
- The static keyword and its various uses in C++
- What is the ‘override’ keyword in C++ used for? [duplicate]
- Mutex example / tutorial? [closed]
- “std::bad_alloc”: am I using too much memory?
- What does “dereferencing” a pointer mean?
- What is a smart pointer and when should I use one?
- A proper way to create a matrix in c++
- No matching member function for call to ‘push_back’ error
- Difference between long double and double in C and C++ [duplicate]
- Why there is no pop_front method in C++ std::vector?
- How do I generate a random number between two variables that I have stored?
- How to print pthread_t
- C++ error: “Array must be initialized with a brace enclosed initializer”
- Why am I getting string does not name a type Error?
- How to avoid the error: terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct null not valid
- Error while overloading operator (must be a nonstatic member function)
- C++ Fatal Error LNK1120: 1 unresolved externals
- Vector of structs initialization
- C++ deprecated conversion from string constant to ‘char*’
- Converting a vector
to string - How to convert vector to array
- “non-standard syntax; use ‘&’ to create a pointer to member” error in Visual Studio 2015
- libpng warning: iCCP: known incorrect sRGB profile
- How to run valgrind with basic c example?
- initial value of reference to non-const must be an lvalue
- Typedef function pointer?
- cc1plus: error: unrecognized command line option “-std=c++11” with g++
- cannot declare variable ‘’ to be of abstract type ‘’
- Difference between ‘struct’ and ‘typedef struct’ in C++?
- Debug vs Release in CMake
- C++ Matrix Class
- How to call on a function found on another file?
- How to project a point onto a plane in 3D?
- Using C-string gives Warning: “Address of stack memory associated with local variable returned”
- generate random double numbers in c++
- Cygwin Make bash command not found
- Why use pointers?
- Why I cannot cout a string?
- How do I return a char array from a function?
- c++ reading csv file
- How to change string into QString?
- Including .cpp files
- Class template inheritance C++
- C++ error: undefined reference to ‘clock_gettime’ and ‘clock_settime’
- Converting String to Cstring in C++
- creating dynamic array of string c++
- Bitwise Less than or Equal to
- how to find 2d array size in c++
- Getting error “array bound is not an integer constant before ‘]’ token”
- Fatal error: iostream: No such file or directory in compiling C program using GCC
- error C2995: function template has already been defined
- Is there a way to compile C++ to C Code?
- allocating an object of abstract class type error
- “Cannot allocate an object of abstract type” error