小编Ben*_*est的帖子

C++ - 在关闭程序之前,ofstream不会输出到文件

我有以下代码:

   ofstream mOutFile.open(logPath, ios_base::app);
   string lBuilder;

   lBuilder.append("========================================================\n");
   lBuilder.append("Date: ");
   lBuilder.append(asctime(timeinfo));
   lBuilder.append("\n");
   lBuilder.append("Log Message:\n");
   lBuilder.append(toLog);
   lBuilder.append("\n");
   lBuilder.append("========================================================\n\n");

   int lSize = lBuilder.size();
   char* lBuffer = new char[lSize];
   int index = 0;
   for each (char c in lBuilder)
      lBuffer[index++] = c;

   mOutFile.write(lBuffer, lSize);
   mOutFile.flush();
Run Code Online (Sandbox Code Playgroud)

不幸的是,在我关闭应用程序之前(我假设关闭ofstream也可以),输出不会写入文本文件.我知道我可能关闭并重新打开流,一切都"正常",但这似乎是一个愚蠢和不正确的解决方案.我在这做错了什么?

我也根据我在这里找到的其他问题尝试了以下变化,但这些解决方案不起作用:

mOutputFile << flush;
mOutputFile << endl;
Run Code Online (Sandbox Code Playgroud)

在此先感谢任何帮助.

编辑此代码中的所有内容都在使用visual c ++,它的构建和工作正常,除非在流关闭之前不写入文件,即使我强制刷新.此外,我从使用<<运算符切换到char*和.write()以查看是否有任何不同的行为.

c++ fstream c++-cli ofstream visual-c++

5
推荐指数
2
解决办法
6050
查看次数

有选择地忽略C#代码中抛出的异常

我在C#代码中有一个函数,其中定期抛出NullReferenceException(预期行为),但是被捕获.有没有办法告诉Visual Studio调试器不要在我的代码的这个特定部分中断这个异常?

编辑我需要在我的代码中的其他地方打破这个异常,但不是在同一个函数中.

c# debugging

5
推荐指数
1
解决办法
3535
查看次数

如何在 Powershell 中为特定命令设置别名?

有一个我经常输入的命令:java -jar foo --param1 --param2, --param-n。如何创建命令别名来运行此命令,如下所示:

launch_foo --param3
Run Code Online (Sandbox Code Playgroud)

在哪里launch_foo翻译成完整的命令?

windows powershell

5
推荐指数
1
解决办法
6670
查看次数

我可以通过 Windows 10 命令行将文件上传到 onedrive 吗?

我需要通过命令行将文件上传到 OneDrive。这将通过分发给最终用户的批处理文件来完成。

\n

通过在 Stack Overflow 上搜索,我发现了类似这样的问题,其中提到您需要使用 Azure 注册应用程序并创建应用程序密码。我没有在我工作的组织中执行此操作所需的权限,也无法执行任何需要管理员帐户的操作。所以我无法安装任何软件 - 我必须使用 Windows 10 附带的软件。我也无法使用 VBA,因为它被阻止了。

\n

我已经成功地从 OneDrive 下载文件,没有任何类似的东西,使用此处描述的过程:

\n
\n
    \n
  • 在任一浏览器中打开 URL。
  • \n
  • 使用 Ctrl+Shift+I 打开开发人员选项。
  • \n
  • 转到网络选项卡。
  • \n
  • 现在点击下载。不需要保存文件\xe2\x80\x99。我们只需要浏览器从服务器请求文件时的网络活动。
  • \n
  • 将出现一个新条目,类似于 \xe2\x80\x9cdownload.aspx?\xe2\x80\xa6\xe2\x80\x9d。
  • \n
  • 右键单击该 和Copy \xe2\x86\x92 Copy as cURL
  • \n
  • 将复制的内容直接粘贴到终端中,并追加 \xe2\x80\x98--output file.extension\xe2\x80\x99 将内容保存在 file.extension 中,因为\n终端无法显示二进制文件数据。
  • \n
\n

例子:

\n
curl https://xyz.sharepoint.com/personal/someting/_layouts/15/download.aspx?UniqueId=cefb6082%2D696e%2D4f23%2D8c7a%2\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x80\xa6。一些长文本 \xe2\x80\xa6.\ncCtHR3NuTy82bWFtN1JBRXNlV2ZmekZOdWp3cFRsNTdJdjE2c2syZmxQamhGWnMwdkFBeXZlNWx2UkxDTkJic2hycGNGazVSTnJGUnY1Y1d0WjF5SDJMWHBqTjRmcUNUU WJxVnZYb1JjRG1WbEtjK0VIVWx2clBDQWNyZldid1R3PT08L1NQPg==;\ncucg=1\xe2\x80\x99 --压缩--输出文件.扩展名

\n
\n

在浏览器上单击“上传”后,我尝试执行类似的操作,但在尝试过滤请求时没有找到任何有用的东西。

\n

我找到了 两个问题,但没有上传键盘快捷键,AFAICT。此外,最终用户还将文件上传到我从 OneDrive 与他们共享的文件夹中。将 Chrome 或 Edge 作为最小化窗口打开很好,但我不能只是将一个窗口推到他们面前,自动点击一些东西 …

powershell curl file-upload onedrive invoke-webrequest

5
推荐指数
1
解决办法
8859
查看次数

如何告诉ant构建文件以递归方式将bin目录中的所有文件添加到jar文件中?

我有以下ant构建文件,它应该将bin目录中的所有类文件打包到jarfile中:

<?xml version="1.0" encoding="utf-8"?>
<project name="RemoteJunitXletServer.makejar" default="makejar" basedir=".">
    <target name="makejar" description="Build a jarfile based on the JunitServer project">
        <jar jarfile="JunitServer.jar" includes="**.class" basedir="bin" />
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

不幸的是,包括"**.class"只会深入两个目录,并且不会复制任何比bin文件夹内的两个目录更深的文件.这些目录是否必须显式声明?或者有没有办法告诉Ant在保留文件夹结构的同时复制bin文件夹内的所有类文件,而不考虑位置?

ant jar

4
推荐指数
1
解决办法
6062
查看次数

使用正则表达式 Grep 指定要搜索的文件名的多个文件

假设我有n一些名称为link123.txtlink345.txtlink645.txt等的文件。

我想 grep 这些n文件的子集来查找关键字。例如:

grep 'searchtext' link123.txt link 345.txt ...
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

grep 'searchtext' link[123\|345].txt
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何将文件名作为正则表达式提及?

regex linux bash grep

4
推荐指数
1
解决办法
1万
查看次数

Powershell 如何知道在哪里可以找到要导入的模块?

我真的处于使用命令行开关和 powershell 东西的初学者级别。我正在使用 PowerShell API 从 C# 调用命令行开关。我看到了奇怪的行为。虽然在 stackoverfow 的不同线程上,人们使用 Import-Command 或 PSImportModule 方法显式导入模块,但我可以查看 $env:PSModulePath 中是否有可用的程序集,它会自动加载。这种行为是默认情况下还是由于我忽略的标准配置。我在 ms 测试环境中运行单元测试。

我正在使用以下代码。

 System.Management.Automation.PowerShell _powerShellInstance
 _powerShellInstance.AddCommand("Connect-AzureRmAccount", false);
 var output = _powerShellInstance.Invoke();

 // Invoking my commandlets

 _powerShellInstance.AddCommand("Get-LinkParameter", false); 
Run Code Online (Sandbox Code Playgroud)

上面的命令会自动从C:\Windows\system32\WindowsPowerShellModules\v1.0\Modules\. 我没有创建任何运行空间,也没有配置集。就在上面自动加载东西。我需要确认 powershell 和运行空间的行为究竟如何。因为我需要清楚我需要如何在生产机器上安装我的命令行开关。生产机器上的单元测试如何访问我的命令行开关以完美加载。

c# powershell cmdlets runspace

4
推荐指数
1
解决办法
4345
查看次数

如何在Active Directory cmdlet上有效使用`-Filter`参数?

我经常在此站点上看到以下类型的代码,特定于AD cmdlet:

Get-ADUser -Filter * | Where-Object { $_.EmailAddress -eq $email }
Run Code Online (Sandbox Code Playgroud)

问题是您要返回Active Directory中的每个用户对象,然后再次处理它.我们如何才能改进这一点,不仅可以减少运行脚本所需的时间,还可以减少Active Directory和网络的不必要负担?

powershell active-directory

4
推荐指数
1
解决办法
551
查看次数

tomcat 10 ServletFileUpload#parseRequest(request) 出错

正在开发一个简单的文件上传程序。我必须使用 jakarta.servlet.* 类,因为我使用的是 Tomcat v10。我在 parseRequest(request) 行收到编译时错误。

代码 :

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        ServletFileUpload sf = new ServletFileUpload(new DiskFileItemFactory());
        try {
            List<FileItem> multifiles = sf.parseRequest(request);
            
            for(FileItem i : multifiles) {
                i.write(new File("C:/Users/Luffy/Documents/FileUploadDemo/"+i.getName()));
            }
            response.getWriter().print("The file is uploaded");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        response.getWriter().print("The file is uploaded");
    }
Run Code Online (Sandbox Code Playgroud)

错误如下:

ServletFileUpload 类型中的方法 parseRequest(javax.servlet.http.HttpServletRequest) 不适用于参数 (jakarta.servlet.http.HttpServletRequest)

我在谷歌上搜索了很多但找不到解决方案。

请提出解决方法或可能的解决方案。提前致谢。

这是我在 Stack Overflow 上的第一篇文章。所以请忽略我的错误(如果有的话):)

servlets multifile-uploader apache-commons-fileupload jakarta-ee tomcat10

4
推荐指数
1
解决办法
5413
查看次数

RecyclerView - 在Activity中获取Position而不是RecyclerViewAdapter

现在是我处理查看点击次数的第三天.我最初使用ListView,然后我切换到RecyclerView.我已经android:onclick为我的每个控件添加了元素row_layout,我在这样处理它们MainActivity:

public void MyMethod(View view) {}
Run Code Online (Sandbox Code Playgroud)

在我的旧ListView实现中,我已经完成setTag(position)了通过在其中MyMethod执行此操作来获取它:

Integer.parseInt(view.getTag().toString())
Run Code Online (Sandbox Code Playgroud)

这很好地没有问题.虽然现在我正在处理RecyclerView并被迫使用ViewHolder,但没有提供setTag方法.搜索了2个小时后,我发现人们使用setTag这样的:

holder.itemView.setTag(position)
Run Code Online (Sandbox Code Playgroud)

这是可以接受的.虽然当我尝试MyMethod使用该行从函数中获取值时:

Integer.parseInt(view.getTag().toString())
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃.我已经阅读了适配器内部onclick处理的几个实现,但是我必须使用它,MainActivity因为我使用的是该活动所特有的东西.

TL; DR我想以MainActivity简单的方式将点击的行的位置发送给我.

编辑:我为这个混乱道歉,因为我的主题不是很彻底.我有一个RecyclerView适配器.适配器链接到我的row_layout.这个row_layoutxml有一个根LinearLayout.里面有一个TextView,另一个LinearLayout(有两个TextViews)和一个Button(为简单起见).我不想像处理点击RecylerView那样处理点击ListView.所以,我决定添加一个android:onclick用于每个控制,然后链接TextViewLinearLayout到一个单一的方法和链接Button(和将来ButtonS)其独特的方法.我缺少的是我希望能够在我的每个接收方法上说出立场MainActivity.如果我必须链接来自适配器的所有内容并进入MainActivity单个onclick处理程序,那就这样吧.虽然,我怎么知道哪个控件触发了点击? …

android android-viewholder android-recyclerview

3
推荐指数
1
解决办法
7802
查看次数