Вход на сайт
проблема с atol и CString
NEW 22.05.06 18:31
в ответ aleksej2k 22.05.06 15:26
Существуют два варианта GetBuffer http://msdn2.microsoft.com/en-us/library/kt26tkzx(vs.80).aspx - с параметром и без (какой-то "умник" решил совместить две разных операции в одной функции
), первая предназначена для аллокации большего буфера, чтобы туда что-либо записать, и затем сохранить с помощью ReleaseBuffer
( Какой идиот это придумал? )
Так что ищи ошибку у себя, минимизируй проблему до минимальной компилируемой программы.


Так что ищи ошибку у себя, минимизируй проблему до минимальной компилируемой программы.
22.05.06 18:57
да, их два есть, оба пробовал, разницы совсем нету, оба выдают тоже самое.
ошибки вобщето не может быть, может только компайлер дурит, вобще с 8 версии он начел ко всякой мелочи придератся, уже жалею что старый диск с седьмой версией выкинул.
в ответ scorpi_ 22.05.06 18:31
В ответ на:
Существуют два варианта GetBuffer http://msdn2.microsoft.com/en-us/library/kt26tkzx(vs.80).aspx - с параметром и без (какой-то "умник" решил совместить две разных операции в одной функции ), первая предназначена для аллокации большего буфера, чтобы туда что-либо записать, и затем сохранить с помощью ReleaseBuffer ( Какой идиот это придумал? )
Так что ищи ошибку у себя, минимизируй проблему до минимальной компилируемой программы.
Существуют два варианта GetBuffer http://msdn2.microsoft.com/en-us/library/kt26tkzx(vs.80).aspx - с параметром и без (какой-то "умник" решил совместить две разных операции в одной функции ), первая предназначена для аллокации большего буфера, чтобы туда что-либо записать, и затем сохранить с помощью ReleaseBuffer ( Какой идиот это придумал? )
Так что ищи ошибку у себя, минимизируй проблему до минимальной компилируемой программы.
да, их два есть, оба пробовал, разницы совсем нету, оба выдают тоже самое.
ошибки вобщето не может быть, может только компайлер дурит, вобще с 8 версии он начел ко всякой мелочи придератся, уже жалею что старый диск с седьмой версией выкинул.

NEW 22.05.06 19:27
Работает хоть в версии 7.1, хоть в 8.0. Так что, как я уже сказал, локализируй проблему, и ищи ошибку у себя.
в ответ aleksej2k 22.05.06 18:57
В ответ на:
#include <afx.h>
#include <iostream>
int main()
{
CString ant("123");
long zahl = atol( ant.GetBuffer() );
std::cout << zahl << std::endl;
}
Работает хоть в версии 7.1, хоть в 8.0. Так что, как я уже сказал, локализируй проблему, и ищи ошибку у себя.
NEW 22.05.06 19:31
в ответ Murr 22.05.06 17:50
Найди тему про StdioFile и в ней ссылку на какую-нить книжку по С++ для начинающих.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_m...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_m...
NEW 22.05.06 19:45
в ответ scorpi_ 22.05.06 19:27
спасибо за помощ, но это у меня тоже не работает.
но смастерил кое что другое что работает:
но смастерил кое что другое что работает:
В ответ на:
CString csZahl("19991230");
long Begin=0;
for(int a=0; a<csZahl.GetLength(); a++){
int zehner=1;
for(int b=0; b<a; b++)zehner*=10;
Begin+=atol((char*)csZahl.Mid(csZahl.GetLength()-a-1).AllocSysString())*zehner;
}
CString csZahl("19991230");
long Begin=0;
for(int a=0; a<csZahl.GetLength(); a++){
int zehner=1;
for(int b=0; b<a; b++)zehner*=10;
Begin+=atol((char*)csZahl.Mid(csZahl.GetLength()-a-1).AllocSysString())*zehner;
}
NEW 22.05.06 19:52
в ответ aleksej2k 22.05.06 19:45
Фигнёй не занимайся, и не прыгай с бубном. Если мой пример не работает, значит у тебя студия неправильно установлена/отконфигурирована. Значит надо переустанавливать, или искать ошибку в данном направлении. А то это неизвестно где и когда ещё вылезет.