小编Zac*_*ach的帖子

仅在存在的情况下从行的开头删除指定的文本(C#)

我有一个文本框,用户可以用脚本语言编辑文本.我已经想出如何让用户在一次点击中注释掉行,但似乎无法弄清楚如何正确地取消注释.例如,如果该框具有:

Normal Text is here
More normal text
-- Commented text
-- More commented text
Normal Text again
--Commented Text Again
Run Code Online (Sandbox Code Playgroud)

因此,当用户选择任意数量的文本并决定取消注释时,将从包含它的行的开头删除" - ".没有" - "的行应该不受影响.简而言之,我想要一个与Visual Studio中的类似的取消注释功能.有没有办法实现这个目标?

谢谢

c# string textbox code-comments

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

Python - 检查列表中的数字是否是数字的因子

我有一个list数字 ( integers)(例如,从 1 到 10)。

它们不一定是连续的,但按升序排列。

我已多次提示用户输入可用号码的选择。输入该数字后,它会连同可能存在的任何因素一起从列表中删除。

我已经阻止用户选择素数。然而,在某个时间点,那里可能存在没有剩余因子的非素数。

我对 Python 比较陌生,所以我在实现时遇到了困难:

  • 检查所选数字是否没有剩余因子(即使它不是素数)。

  • 检查是否仅剩下素数,或者没有因数的数字。

我正在考虑使用for语句,但我不确定到底如何实现它们。任何人都可以提供建议或代码吗?提前致谢...

python list factors python-3.x

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

从控制台应用程序发送输入/获取输出(C#/ WinForms)

我有一个包含3个控件的表单:

  1. 用户输入命令以发送到控制台应用程序的文本框,
  2. 用于确认要发送的命令的按钮
  3. 一个只读文本框,用于显示应用程序的输出.

我想要的是让用户在第一个文本框中输入命令,按下按钮以通过第二个文本框输入和接收反馈.

我知道如何使用ProcessStartInfo.RedirectStandardOutput,但是,当我使用时,应用程序挂起StandardOutput.ReadToEnd().

我看了一下异步Process.BeginOutputReadLine()但是,即使我的应用程序没有挂起,不知何故我在文本框中没有得到任何响应,它什么也没做.

这是我的代码:

public partial class MainForm : Form
{

    private void MainForm_Load(object sender, EventArgs e)
    {
        InitializeInterpreter();
    }

    private void InitializeInterpreter()
    {
        InterProc.StartInfo.UseShellExecute = false;
        InterProc.StartInfo.FileName = "app.exe";
        InterProc.StartInfo.RedirectStandardInput = true;
        InterProc.StartInfo.RedirectStandardOutput = true;
        InterProc.StartInfo.RedirectStandardError = true;
        InterProc.StartInfo.CreateNoWindow = true;
        InterProc.OutputDataReceived += new DataReceivedEventHandler(InterProcOutputHandler);

        InterProc.Start();
    }

    private static void InterProcOutputHandler(object sendingProcess, DataReceivedEventArgs outLine)
    {
        if (!String.IsNullOrEmpty(outLine.Data))
        {
           OutputTextBox.Append(Environment.NewLine + outLine.Data);
        }
    }

    private void Enterbutton_Click(object sender, EventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# processstartinfo redirectstandardoutput

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

简单的菜鸟I/O问题(C++)

对于noob问题感到抱歉,但我是C++的新手.

我需要从文件中逐行读取一些信息,然后执行一些计算,并输出到另一个文件中.例如,我们读取每行的唯一ID,名称和2个数字.最后2个数字相乘,在输出文件中,ID,名称和产品逐行打印:

input.txt中:

2431 John Doe 2000 5
9856 Jane Doe 1800 2 
4029 Jack Siu 3000 10
Run Code Online (Sandbox Code Playgroud)

output.txt的:

  ID     Name Total
2431 John Doe 10000
9856 Jane Doe 3600
4029 Jack Siu 30000
Run Code Online (Sandbox Code Playgroud)

我的代码与此类似,但只有第一行出现在输出文件中.如果我Enter反复按,输出文件中会出现其他行:

#include <fstream>
using namespace std;

ifstream cin("input.txt");
ofstream cout("output.txt");

int main () {

    int ID, I, J;
    string First, Last;
    char c;

    cout << "ID\tName\t\Total\n";

    while ((c = getchar()) != EOF) {
        cin >> ID >> First >> Last >> I >> J; …
Run Code Online (Sandbox Code Playgroud)

c++ cout input cin

2
推荐指数
3
解决办法
300
查看次数