我有一个fstream my_file("test.txt"),但我不知道test.txt是否存在.如果它存在,我想知道我是否也可以阅读它.怎么做?
我用的是Linux.
我有一个名为Employee的表
Eno ename AttributeValue AttributeName
1 aa a123 abc
2 bbb b123 dcf
3 cc c7sd wew3
Run Code Online (Sandbox Code Playgroud)
我希望将数据从交换柱AttributeValue
到AttributeName
和AttributeName
到AttributeValue
例如:
Eno ename AttributeValue AttributeName
1 aa abc a123
2 bbb dcf b123
3 cc wew3 c7sd
Run Code Online (Sandbox Code Playgroud) 我打开了一个示例ASP.NET MVC项目.
在HomeController
我创建了一个名为的方法(动作)MethodA
public ActionResult MethodA()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
我右键单击MethodA
并创建了一个名为的新视图MethodA1
重新做了它并创建了一个名为的新视图MethodA2
.
这种神奇的关系是如何完成的?我查找配置告诉编译器视图MethodAX
与操作有关MethodA
,但没有找到.
MethodA
调用时控制器将返回什么视图?
我看到使用的Active Directory示例PrincipalSearcher
和其他使用相同内容的示例DirectorySearcher
.这两个例子有什么区别?
使用示例 PrincipalSearcher
PrincipalContext context = new PrincipalContext(ContextType.Domain);
PrincipalSearcher search = new PrincipalSearcher(new UserPrincipal(context));
foreach( UserPrincipal user in search.FindAll() )
{
if( null != user )
Console.WriteLine(user.DistinguishedName);
}
Run Code Online (Sandbox Code Playgroud)
使用示例 DirectorySearcher
DirectorySearcher search = new DirectorySearcher("(&(objectClass=user)(objectCategory=person))");
search.PageSize = 1000;
foreach( SearchResult result in search.FindAll() )
{
DirectoryEntry user = result.GetDirectoryEntry();
if( null != user )
Console.WriteLine(user.Properties["distinguishedName"].Value.ToString());
}
Run Code Online (Sandbox Code Playgroud) 使用一些较旧的手机,您可以将它们连接到计算机并将它们用作拨号/传真调制解调器(例如连接到拨号ISP).我一直试图找出这是否可能与Android,但我的所有搜索最终与人们希望分享他们的手机与他们的PC的互联网连接.这不是我想要做的.我想使用超级终端让我的手机拨打PBX电话,这样我就可以远程更改PBX.
静态地图API讨论路径,但没有提及圈子.这可能吗?谢谢
最近我学习了如何使用VBA在Excel中自动创建数据透视表,并且该Excel.Range.Group()
方法的实现让我感到奇怪.第四个参数Periods
采用7个元素的布尔值数组来指示分组是按秒,分钟,小时,天,月,季度还是年.通常情况下,您可以通过使用一种Enum
类型来完成这样的事情,该类型的成员可以Or
一起表示已打开一个或多个选项 - 该MsgBox
函数就是一个很好的例子.
例如,我原本期望使用更像这样......
MyPivotTable.DataRange.Cells(1).Group Periods:=vbGroupPeriods.Days Or _
vbGroupPeriods.Months
Run Code Online (Sandbox Code Playgroud)
代替...
MyPivotTable.DataRange.Cells(1).Group Periods:=Array(False, False, False, _
True, True, False, False)
Run Code Online (Sandbox Code Playgroud)
我环顾四周试图理解为什么用它来完成Array
,但迄今为止空手而归.所以,我的问题是为什么这样做?我有没有看到一些限制?这是个人的个人选择吗?还是只是一个谜?不要试图抱怨,只是想了解.
我刚刚创建了第一个用于Excel的VSTO加载项.我正在尝试找到一种方法在最终用户计算机上轻松安装加载项.
如果我复制.dll并尝试从Excel中的COM加载项管理器添加它我得到此错误:
<ProjectName> .dll不是有效的Office加载项.
如果我使用发布向导,它不会为我提供选择在客户端PC上安装文件的位置的选项.相反,它使用安装文件的路径.
那么,如何在不使用发布向导(AKA clickonce)的情况下安装我的VSTO加载项?
我正在编写一个IO类,通过RS-232串口上传/下载文件到控制器.不幸的是,我无法一次发送整个文件,我必须将其分解为数据包并一次发送一点.这是基本方法......
ifstream file ("path/to/file.ext", ios::in | ios::binary);
while( !file.eof() )
{
//... zero buffer, and add packet header (8 bytes)
size_t nResult = file.read( &buffer[8], 129 );
Serial.Write( buffer, nResult+8 );
//... see if controller wrote anything to the serial port and process it's command
Sleep( 600 );
}
Run Code Online (Sandbox Code Playgroud)
我知道使用Sleep()不是一个好的设计实践,但如果我删除Sleep()语句甚至缩短循环休眠的时间,那么控制器会抛出有关它的缓冲区已满的错误,并且传输失败.有一个更好的方法吗?
在您说出之前,我不能向控制器发送消息以确定它是否已准备好接收下一个数据包.它没有这个功能.
编辑: 我忘了提到我不得不睡觉的时间间隔有些"失明".制造商提供的协议规范没有详细说明数据包之间所需的任何时间长度.所以我必须通过反复试验来确定这个价值.我担心它可能无法在每台PC上运行,因此它可能无法在每个控制器上运行.
这项开发正在针对Windows XP/Vista/7进行.
编辑#2: 此外,每个数据包的数据量实际上也是一个试错误猜测.协议规范允许65,535字节的数据包(包括标头).但是如果你一次发送超过129个字节,你就会开始看到有时它可以工作的问题,有时则不会.您必须睡眠的时间与您可以发送的字节数之间似乎存在关系.如果我将数据包大小减少到每个数据包20个字节,我可以将睡眠时间减少到400毫秒.我相信这些问题的原因源于控制器将数据从缓冲区移动到文件所花费的时间.