Кресты / Говнокод #3769 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
BYTE p1,p2,p3,p4;
CString p;
ipa.GetAddress(p1,p2,p3,p4);
p.Format("%d.", p1);
s = p;
p.Format("%d.", p2);
s += p;
p.Format("%d.", p3);
s += p;
p.Format("%d", p4);
s += p;
AfxMessageBox(s);

книга "Microsoft Visual Studio и MFC", автор Т. Сидорина
ранее были объявлены
CIPAddressCtrl ipa;
CString s;

s.Format ("%d.%d.%d.%d", p1, p2, p3, p4); //мы не исчем лёгких путей

Запостил: daemon_master daemon_master, (Updated )

Комментарии (12) RSS

  • Оператор += наше всё! Руки прочь!
    зі: а что, Format принимает 5 аргументов? У Т. Сидориной же 2 написано!
    Ответить
          • Во1 я не утверждал.
            Во2 я говорил не про "Format" MFC с которым я не работал и не собираюсь, а про varargs, поддержка которого имеется в стандартной библиотеке (например, printf).
            В3 существуют различия в реализации этого на win и nix платформах. Какие -- не помню, но помню что они есть.
            Так что не убедил.
            Ответить
            • а как ты думаешь Format работает? по такому же принципу как и sprintf и printf, и даже таже TRACE в MFC

              #define N 512
              
              void TRACE (LPCTSTR lpszFormat, ...)
              {
              	va_list args;
              	va_start (args, lpszFormat);
              	int nBuf;
              	char szBuffer[N];
              
              	nBuf = _vsnprintf (szBuffer, N, lpszFormat, args);
              
              	if (nBuf < 0)
              	{
              		MessageBox (NULL, "Слишком длинная строка для TRACE!", "Ошибка", MB_OK | MB_ICONSTOP);
              		szBuffer[N - 2] = '\n';
              		szBuffer[N - 1] = 0;
              	}
              
              	OutputDebugString (szBuffer);
              
              	va_end (args);
              }


              как пример реализация типа того же TRACE
              Ответить
              • Я знаю как работает принтф. Что ты доказал приведенным кодом?
                Ответить
                • а я пытался разве что-то доказать? показал лишь пример работы va_list
                  Ответить
                  • Я писал функции с вараргами, я все это себе нормально представляю. Забей, я походу просто суть разговора не догоняю, туплю.
                    Ответить
  • А что, разве кроме Олиферов и Гука еще кто-то отечественный пишет про компы?
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8