VC基础菜鸟群
共有1416位成员 人气指数 - 最新排名 -
【话题】我在A机器 发送多播 224.1.1.1 给几个端口。每个端口一个视频端口号为 100002
06:00:01 来自:nicaicat 浏览数:14次
我在A机器 发送多播 224.1.1.1 给几个端口。每个端口一个视频端口号为 100002
B机器读取视频, 我只加入10000的多播组。
如果我运行B机器的程序不读取数据,看网卡的流量是0%& 可是我读取10000端口的话,
发觉流量是30% 。也就是 100002 整个端口的流量,可是我明明只读取的是10000端口的数据
另外:我用检测包的工具看即使不读取, 10002 都有数据。 可是为啥这个时候任务管理器
网络流量确是0%
dorothy回复于05日06点59分
组播的话,每个数据都会读的,不过当数据不是发给自己的,则抛弃
dongxiashi回复于05日08点12分
意思路由器会不停的把数据发给所有的机器? 不管这个机器是不是组播组成员
VC基础菜鸟群的其他话题...
热门脚本语言:VC基础菜鸟群
共有1416位成员 人气指数 - 最新排名 -
【话题】从“ULONGLONG”转换到“DWORD”,可能丢失数据
21:14:58 来自:夏夜清风 浏览数:131次
C/C++ code
if (file.Open(_T(&历史记录.txt&),CFile::modeRead,NULL))
DWORD dwFileL // *****
dwFileLen=file.GetLength(); // ******
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen];
file.Read(pBuf,strlen(pBuf));
file.Close();
m_editjlInfo.ReplaceSel((wchar_t *)pBuf);
AfxMessageBox(_T(&文件读取失败&));
warning C4244: “=”: 从“ULONGLONG”转换到“DWORD”,可能丢失数据
请问这应该如何修改?
学习者回复于07日21点30分
怎么强制转换
ULONGLONG dwFileL
文本内容是乱码
励耘教育回复于07日21点44分
tdglb回复于07日21点58分
dwFileLen=(DWORD)file.GetLength();
WANGCHAO5958回复于07日22点11分
if (file.Open(_T(&历史记录.txt&),CFile::modeRead,NULL))
DWORD dwFileL // *****
dwFileLen = (DWORD)file.GetLength(); // ******
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen];
file.Read(pBuf,strlen(pBuf));
file.Close();
AfxMessageBox(_T(&文件读取失败&));
bjshenhui回复于07日22点25分
如果文件小,用这个强制转换就可以了!
wanghaoran_27回复于07日22点40分
上面的代码编译通过,没有警告,但是正如10楼所说的一样……
1&------ Build started: Project: ULONGLONG_Test, Configuration: Debug Win32 ------
1&Compiling...
1&ULONGLONG_Test.cpp
1&Linking...
1&Embedding manifest...
1&Build log was saved at &file://d:\代码工程\ULONGLONG_Test\Debug\BuildLog.htm&
1&ULONGLONG_Test - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
huahe3009回复于07日22点53分
ULONGLONG是64位的,DWORD是32位的,只要文件大于4G,转换就会造成数据错误,如果小于,则没关系。
解决办法:
1、强制转换;
2、去掉编译警告:在h文件加入#pragma warning(disable:4244)
大隋的望尘莫及回复于07日23点06分
ok了 编码问题
lxh0452回复于07日23点20分
ULONGLONG dwFileL
从“ULONGLONG”转换到“unsigned int”,可能丢失数据
强制转换回出现乱码
yueying回复于07日23点32分
文本内容是乱码和编码有关,与文件读取无关。
或许是宽字符,用一个宽字符指针指向pBuf,看看是否正确。
LPWSTR pwChar = (LPWSTR)pB
看看 pwChar 能不能正确转换。
晴天妈妈回复于07日23点47分
pBuf=new char[dwFileLen+1];
ZeroMemory(pBuf,dwFileLen+1); //必须的
& pBuf[dwFileLen]; //这句有什么用吗。
& file.Read(pBuf,dwFileLen+1); //
yhxv001回复于08日02点52分
ZeroMemory倒是不一定必需,字符串的情况 pBuf[dwFileLen] = 0; 很重要。
file.Read(pBuf,dwFileLen+1);& 这句不行,多了一个。不过不会出错,返回值还是dwFileLen。
爱你一万年回复于08日03点08分
强制转换就可以了。
guli2008回复于08日03点25分
chenzhichen回复于08日03点38分
文件内存储& 好啊两字
读取后却变成 絙????????????????え??????????????????????
章志航回复于08日03点50分
DWORD dwFileL // *****
ULONGLONG dwFileL
也可以啊。
lyblm回复于08日04点05分
强制转换如果小的转换成大的,没问题。也就是DWORD转为ULONGLONG.
但是大的转化为小的,就不太合适了。建议直接用ULONGLONG做变量好了。
对ULONGLONG,sprintf的输出格式是I64d
小嘟嘟回复于08日04点18分
不行就内存COPY试试
sow601回复于08日04点30分
问题 还是没解决
DWORD dwFileL
dwFileLen=(DWORD)file.GetLength();
pBuf=new char[dwFileLen+1];
============================
ULONGLONG dwFileL
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
这两个答案...都不行
nnmnnm回复于08日04点46分
楼主,我分析了下你的需求,看来这个文件非常大,是吗?
那么我建议你这样,使用CreateFileMapping配合CreateFile使用,这样能存放一个比较大的文件映射,无论读写都比较方便
VC基础菜鸟群的其他话题...
热门脚本语言:VC基础菜鸟群
共有1416位成员 人气指数 - 最新排名 -
【话题】VC 中sin(180)计算怎么会输出是0.**** 急!!!!!
11:46:10 来自:gy328 浏览数:46次
a=cos(180);
zhangxy1996回复于03日12点00分
角度与弧度的差别。
gongyaqi回复于03日12点24分
vc里面必须是弧度值,而其重载的是double的。这样编译不过去啊!这是转换成弧度计算的的结果。
xiaoxiongmama回复于03日12点44分
小酷妹回复于03日12点56分
math.h 中所的函数,所使用的角度都是弧度制的
cos(180);中的180不是180角度,而是180弧度,所以结果没有错.
wangsaikai回复于03日13点19分
sin(180)和sin(0.32184...)一样
野鸡:sin(180)==sin(180.0/3.14-180.0%3.14)==sin(0.32184...)==你的。。。。
潇潇丝雨回复于03日13点37分
轮不到我说了
jian8668回复于03日13点52分
正解,转换成弧度在计算
lightning!回复于03日14点08分
#define PI 3.1415926
sin(Angle*PI/180);//Angle为你要计算的角度
hongbizi1回复于03日14点25分
VC基础菜鸟群的其他话题...
热门脚本语言:}