Почему печатает только первый символ из argv[i]?

Дима_Кирсанов

Почему печатает только первый символ из argv[i]? Как написать чтобы печатало всю строку argv[i]?
//
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
  for (int i = 0; i < argc; i++)
    printf("%s\n", argv[i]);
  
  return 0;
}
2 ответа

Дима_Кирсанов

У меня ваш код работает...Правда, я _TCHAR на char поменял...Скорее всего TCHAR у вас на входе какой-нибудь юникод и второй байт нулевой... То есть, вам строку как юникод надо интерпретировать... Возможно....


Дима_Кирсанов

Дима_Кирсанов, Коль уж используете tchar, используйте его до конца:
for (int i = 0; i < argc; i++)
    _tprintf(_T("%s\n"), argv[i]);