Login
проблема с atol и CString
NEW 22.05.06 11:40
in Antwort aleksej2k 22.05.06 09:57
хм... а че это за версия? У GetBuffer вроде параметр должен быть...
NEW 22.05.06 15:26
in Antwort digital_pilot 22.05.06 11:40
у GetBuffer нету параметра.
раньше, помню, работало это без проблем. вот поставил себе новую версию MS VC++ 8.0 - и с тех пор что то не всегда работает.
раньше, помню, работало это без проблем. вот поставил себе новую версию MS VC++ 8.0 - и с тех пор что то не всегда работает.
NEW 22.05.06 15:38
in Antwort aleksej2k 22.05.06 15:26
а в шестерке параметр есть, и все работает...
NEW 22.05.06 15:41
in Antwort aleksej2k 22.05.06 09:57
NEW 22.05.06 15:45
in Antwort Murr 22.05.06 15:41, Zuletzt geändert 22.05.06 15:48 (aleksej2k)
у меня прога в c++ без .NET Framework
можно ли его вставить и как? а другие возможности есть?
можно ли его вставить и как? а другие возможности есть?
NEW 22.05.06 15:47
in Antwort digital_pilot 22.05.06 15:38
NEW 22.05.06 15:55
in Antwort aleksej2k 22.05.06 15:45
Не знаю. Просто не пробовал делать хоть что-нибудь в .Net без фреймворка - для этого есть 6-я студия.
NEW 22.05.06 16:12
in Antwort Murr 22.05.06 15:55
читал что проги сдаленнае с .Net можно декомпилировать, изза этого решился в C++ программировать.
кто то знает об этом?
кто то знает об этом?
NEW 22.05.06 16:18
in Antwort aleksej2k 22.05.06 16:12
Все можно декомпилировать. Только смысл? Я вот создаю порядка 10Мб исходного C#-кода за минуту - декомпилируй на здоровье...
P.S. Еще раз - не компилированной программы, а исходного текста...
P.S. Еще раз - не компилированной программы, а исходного текста...
NEW 22.05.06 17:29
in Antwort aleksej2k 22.05.06 09:57
Зачем такой гемор? Почему не сделать просто atol(ant)?
NEW 22.05.06 17:50
in Antwort Simple 22.05.06 17:29
Хммм... atol() требует char* в качестве параметра, а не инстансе CString. Какой-то из методов/свойств должен его возвращать... Так что направление попытки - правильное...

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


Так что ищи ошибку у себя, минимизируй проблему до минимальной компилируемой программы.
NEW 22.05.06 18:57
да, их два есть, оба пробовал, разницы совсем нету, оба выдают тоже самое.
ошибки вобщето не может быть, может только компайлер дурит, вобще с 8 версии он начел ко всякой мелочи придератся, уже жалею что старый диск с седьмой версией выкинул.
in Antwort 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. Так что, как я уже сказал, локализируй проблему, и ищи ошибку у себя.
in Antwort 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
in Antwort 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
in Antwort 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
in Antwort aleksej2k 22.05.06 19:45
Фигнёй не занимайся, и не прыгай с бубном. Если мой пример не работает, значит у тебя студия неправильно установлена/отконфигурирована. Значит надо переустанавливать, или искать ошибку в данном направлении. А то это неизвестно где и когда ещё вылезет.
NEW 22.05.06 20:03
in Antwort aleksej2k 22.05.06 19:45
И вообще, что значит не работает?
Ты сделал новый чистый проект, скопировал туда мой пример, скомпилировал, запустил, и получил 1?
Ты сделал новый чистый проект, скопировал туда мой пример, скомпилировал, запустил, и получил 1?