Обычно определяется макрос MAX_PATH
, который вы можете использовать.Кроме того, есть ли причина не просто размещать в стеке?
Редактировать:
Из документов MSDN:
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
char* buffer;
// Get the current working directory:
if( (buffer = _getcwd( NULL, 0 )) == NULL )
perror( "_getcwd error" );
else
{
printf( "%s \nLength: %d\n", buffer, strnlen(buffer) );
free(buffer);
}
}
Таким образом, похоже, что вы передаете NULL, он выделяет для вас буфер.