Member 12899279 Ответов: 1

Не удается преобразовать из char в char[]


как конвертировать из char в char[] я могу пройти типа char[] значение только для моей функции, но значение я получение в Чаре

Что я уже пробовал:

while (cDriveLetter <= 'Z')
	{
		if (0 < (dwDrivemap & 0x00000001L))
		{
		  cDriveLetter;
		/*  char *p;
		  p = new char[1];
		  p= cDriveLetter;*/
		   char arr[] = cDriveLetter;
		  if (getfil((void*)arr) == 0)
		  {
			  getfil((void*)arr);
		  }
			//printf("%c:\\\n", cDriveLetter);
			//return cDriveLetter;
		  else
			  cDriveLetter++;
		}
		cDriveLetter++;
		dwDrivemap = dwDrivemap >> 1;
	}

CPallini

Пожалуйста покажите getfil реализация функций.

1 Ответов

Рейтинг:
7

OriginalGriff

Попробуй:

char arr[] = &cDriveletter;
Или
char arr[2];
arr[0] = cDriveLetter;
arr[1] = '\0';
А потом пройти arr к вашей функции.
Последнее более безопасно, поскольку оно выделяет пространство для символа и завершающего нуля для завершения строки "C-style". Первый будет работать, если getfil использует только первый символ переданного ему массива.


Stefan_Lang

Поскольку getfil() использует свой аргумент для инициализации строки, вам нужна строка C с 0-концом в качестве входных данных. Используйте второе предложение OriginalGriff, и эта часть вашего кода должна работать нормально.

Если есть какая-то другая проблема, кроме этой, вы должны объяснить это более ясно. Более того, этот вид неформатированного codedump-это боль для чтения. Если вам нужна дополнительная помощь, я настоятельно рекомендую вам обновить свой первоначальный вопрос, используя кнопку [улучшить вопрос] в правом нижнем углу вашего вопроса.