小编Vin*_*sso的帖子

从C++程序在Linux中运行另一个程序

好的,我的问题是这个.假设我有一个简单的C++代码:

#include <iostream>
using namespace std;

int main(){
   cout << "Hello World" << endl;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在说我有这个程序,我想在我的程序中运行,称之为prog.在终端中运行此操作可以通过以下方式完成:

./prog
Run Code Online (Sandbox Code Playgroud)

有没有办法从我简单的C++程序中做到这一点?例如

#include <iostream>
using namespace std;

int main(){
   ./prog ??
   cout << "Hello World" << endl;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何反馈都非常有必要.

c++ unix linux terminal

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

从C++程序调用PHP脚本

我试图从C++程序调用PHP脚本.例如,这是一个示例C++程序:

#include <iostream>
#include <cstdlib>

using namespace std; 

int main() {

cout << std::system("test.php");

return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个程序正在调用一些脚本"test.php",其结构可能如下:

<?php
echo "Hello";
?>
Run Code Online (Sandbox Code Playgroud)

运行C++代码时,我得到以下内容:

sh: 1: test.php: not found.
Run Code Online (Sandbox Code Playgroud)

现在要检查的显而易见的事情是文件是否在同一个目录中(确实是这样),但错误仍然存​​在.关于我如何做这样的事情的任何反馈?

谢谢.

php c++ linux system

6
推荐指数
1
解决办法
8952
查看次数

使用Haskell的Parsec编程语言转换器

说我有两种语言(A和B).我的目标是编写某种类型的程序,将A中的语法转换为B的等价物.目前我的解决方案是使用Haskell的Parsec来执行此任务.作为对Haskell不熟悉的人以及针对此问题的函数式编程,在Parsec中找到一个简单的例子非常困难.我在网上找到的例子要么是不完整的例子(对于一个新的Haskell程序员而言令人沮丧),要么从我的目标中删除太多.

那么有人能为我提供一个令人惊讶的琐碎和明确的例子,使用Parsec来实现与我想要达到的目标相关的东西吗?或者甚至是一些与我的目标相似的教程.

谢谢.

parsing interpreter haskell parsec

6
推荐指数
1
解决办法
1232
查看次数

Haskell Parsec Parser遇到[...]

我正在尝试使用Parsec在Haskell中编写解析器.目前我有一个可以解析的程序

test x [1,2,3] end
Run Code Online (Sandbox Code Playgroud)

执行此操作的代码如下所示

testParser = do { 
  reserved "test"; 
  v <- identifier; 
  symbol "["; 
  l <- sepBy natural commaSep;
  symbol "]";
  p <- pParser;
  return $ Test v (List l) p
 } <?> "end"
Run Code Online (Sandbox Code Playgroud)

其中commaSep定义为

commaSep        = skipMany1 (space <|> char ',')
Run Code Online (Sandbox Code Playgroud)

现在有一些方法可以解析类似的声明,具体来说:

test x [1...3] end
Run Code Online (Sandbox Code Playgroud)

作为Haskell和Parsec的新手,我确信有一些非常简洁的方法可以做到这一点,我只是不知道.任何帮助,将不胜感激.

再次感谢.

parsing haskell parsec

6
推荐指数
1
解决办法
348
查看次数

Watir更改Mozilla Firefox首选项

我正在运行一个使用Watir的Ruby脚本来为我自动化一些东西.我正在尝试自动将某些文件保存到某个目录.因此,在我的Mozilla设置中,我将默认下载目录设置为说出桌面并选择自动保存文件.

但是,当我开始运行脚本时,这些更改不会反映出来.似乎首选项恢复为默认值.我已经包括以下内容

require "rubygems"         # Optional.
require "watir-webdriver"  # For web automation.
require "win32ole"         # For file save dialog.
Run Code Online (Sandbox Code Playgroud)

并打开一个新的firefox实例:

browser = Watir::Browser.new(:firefox)
Run Code Online (Sandbox Code Playgroud)

关于为什么偏好会因此而退缩的任何想法?或者我正在尝试做什么的其他想法?(自动保存文件).

谢谢

ruby scripting automation screen-scraping watir

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

CodeBlocks中的GTK在zlib1.dll中没有deflateSetHeader

我正试图在Windows机器上的Code :: Blocks中获得一个有效的GTK项目.我按照此链接中 "简单方法"下的说明进行操作

当我打开一个GTK项目并尝试编译和运行时,我收到以下错误消息:

The procedure entry point deflateSetHeader could not be located in the dynamic 
link library zlib1.dll.
Run Code Online (Sandbox Code Playgroud)

是否有更新版本的zlib1.dll我需要替换当前的版本?如果是的话,是否存在链接?或者,如果其他人有类似的错误,任何反馈将非常有必要.

谢谢.

gtk zlib codeblocks

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

最优雅的 MATLAB 的“vec”函数在 NumPy 中的实现

在 MATLAB 中有一个称为 的函数,vec它采用矩阵并将列堆叠成单个向量。例如,如果我们称以下矩阵为“X”:

[1 2]
[3 4]
Run Code Online (Sandbox Code Playgroud)

然后vec(X)将返回向量:

[1]
[3]
[2]
[4]
Run Code Online (Sandbox Code Playgroud)

似乎没有任何直接的实现,并且“ MATLAB 用户的 NumPy ”没有直接的等价物。

所以,如果给一个 numpy 数组(代表矩阵),那么用什么非常优雅的 NumPy 线来重现这个结果?只是想知道这可以做得多么简洁/优雅。谢谢!

python matlab numpy vectorization

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

使用 Django 处理上传的文件

我正在尝试使用 Django 处理上传的 CSV 文件。我如何做这件事的主要逻辑在models.pyviews.py脚本中都有表达。上传文件后,我无法处理任何内容(在我的views.py. 这是两个脚本,但如果我能提供更多信息,我很乐意提供。

在我的models.py文件中,我有两个类,一个用于文档本身,另一个用于文件中的字段。

模型.py:

from django.db import models

import os

class Document(models.Model):
    docfile = models.FileField(upload_to='documents')

class DocumentEntry(models.Model):
    document = models.ForeignKey(Document, on_delete=models.CASCADE)
    field = models.CharField(max_length=250, default="TEST")
Run Code Online (Sandbox Code Playgroud)

接下来,在 my 中,views.py我获取通过 上传的文件request.FILES['docfile']并将其传递给handle_files()函数。但是,当我尝试遍历阅读器时,我无法访问已上传文件中的任何元素。

视图.py:

from django.shortcuts import render
from django.conf import settings
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse

import csv

from .models import Document, DocumentEntry
from .forms import UploadFileForm


def process_file(request):
    # Handle file …
Run Code Online (Sandbox Code Playgroud)

python django file-upload

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

Windows和Linux文本文件处理麻烦

好吧,这是一个奇怪的跨平台的事情,我正在经历文本文件.假设我有一个非常简单地读取文本文件的程序

// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      if (line == "BEGIN")
        cout << line << endl;
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以这会读取一个文本文件并在遇到BEGIN时吐出正在读取的行.这是我正在阅读的文本文件:

HEADER
BEGIN
X 2
Y 2
Z 1
END
Run Code Online (Sandbox Code Playgroud)

Windows成功吐出BEGIN一次,因为它遇到了一次.Linux没有吐出任何东西.我在这里缺少一些基本的东西吗?

c++ linux ubuntu text-files

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

从Linux上生成的文件中删除^ M.

好吧,我正在尝试删除在Linux上编译和运行程序时弹出的这些讨厌的^ M字符.

我试过跑步

dos2unix filename
Run Code Online (Sandbox Code Playgroud)

在文件上,^ M仍然存在.我也确保无论何时打开文件,我都会打开

ios::binary
Run Code Online (Sandbox Code Playgroud)

有没有办法删除M?即使是系统调用也可以在我的代码中调用,也可以

std::system("Remove M's Command");
Run Code Online (Sandbox Code Playgroud)

任何反馈都将非常感激.

谢谢.

c c++ linux text-files

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

Linux中的转义字符不起作用

假设我想打印一个带引号的字符串,("示例").

在Linux中,做同样的事情在最简单的情况下工作.但是,在Linux中是否有某些原因这样做会在命令结束时生成一个新行?例如,在Windows中运行我的程序:

std::cout<<"Blah \""<<example<<"\" Blah";
Run Code Online (Sandbox Code Playgroud)

但是在Linux中我有

Blah " 
example" Blah
Run Code Online (Sandbox Code Playgroud)

有什么理由说这应该发生吗?(为什么我得到这个换行符?)

再次感谢.

c c++ linux text-files

0
推荐指数
1
解决办法
229
查看次数

PHP下载的文件内容显示HTML表单

我有一个HTML选择表单,用我的数据库中的元素填充我的列表,如下所示:

    <form action="" method="POST">
    <select name="item_select">
    <?php 
    $query = "SELECT * FROM files_table";
    $result = mysql_query($query);
    while ($row = mysql_fetch_object($result)) { 
    ?>
        <option value=<?php echo $row->id; ?> > <?php echo $row->file_name;  ></option>
        <?php }// end while?>
    </select>
    <br /><br />
    <input name="show_png" type="submit" value="Show" />
    <input name="delete" type="submit" value="Delete" />
    <input name="download_text" type="submit" value="Download .txt File" />
    <input name="download_image" type="submit" value="Download .png File" />
</form> 
Run Code Online (Sandbox Code Playgroud)

我有表单的"显示"和"删除"按钮的功能,以显示和删除存储在数据库中的内容.但是,我无法找到让用户下载文件的方法.现在,我的基本策略是:

if (isset($_POST['download_text'])) {
  // Code to create .txt file from content (omitted).
  // File …
Run Code Online (Sandbox Code Playgroud)

html php web

0
推荐指数
1
解决办法
667
查看次数