小编Dav*_*d Z的帖子

在getopt,Unix shell脚本中出现问题

嗨,有人可以解决这个问题,我无法得到解决.

我无法获得-p的输出.

#!/bin/bash 

args=`getopt c:m:p $*` 

if [ $? != 0  -o $# == 0 ] 
then 
  echo 'Usage: -c <current-dir> -m <my dir> -p <argument>' 
  exit 1 
fi 

set -- $args 

for i 
do 
 case "$i" in 
         -c) shift;CURRDIR=$1;shift;shift ;; 
         -m) MYDIR=$1;shift;; 
         -p) ARGVAL=$OPTARG;; 
   esac 
done 

echo "CURRDIR = $CURRDIR" 
echo "MYDIR = $MYDIR" 
echo "ARGVAL = $ARGVAL" 

./1.sh -c "def" -m "ref" -p "ref -k ref" 
Run Code Online (Sandbox Code Playgroud)

预期产出

output -c = "def" 
-m ="ref" 
-p ="ref -k ref"
Run Code Online (Sandbox Code Playgroud)

unix linux shell

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

我需要调用一个函数,直到它在python中返回0

def solveMaze(win, board):  
    mazesol.removeDeadEnds(win, board)
Run Code Online (Sandbox Code Playgroud)

我需要打电话mazesol.removeDeadends(win,board)直到它返回0.这就是函数的作用:

此函数将窗口作为其第一个参数,将board作为其第二个参数.它扫描完整的板(跳过第一行和最后一行以及第一列和最后一列),并将作为路径的每个位置作为邻居转换为一条路径.它返回转换的死角数.

python loops

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

从函数返回时指针已损坏

TL; DR:当我在OS X Yosemite下在Mac上运行我的C++程序时,指针在函数返回时被破坏.我该如何阻止它发生?(为什么?)


这个示例程序中,我有一个类型的数据结构,category_map<T>实际上只是一个

map<string, list<pair<string, T> > >
Run Code Online (Sandbox Code Playgroud)

category_map类有两个方法,包括get(string& name)其中拉动list存储在给定的name,并返回T从该列表中的第一个元素.就我而言,T是指针类型.代码从第一个pair中检索的指针list- p在下面的代码清单中 - 是有效的.调试器会话显示p函数的最后一行的值 - 在析构函数运行之前的右括号 - 是一个有效的内存位置,比如说0x100809c00.

T& get(const string& name) const {
    cerr << "searching for " << name << endl;
    typename super::const_iterator map_iterator = super::find(name);
    // the real code doesn't assume it will be found
    list_type the_list = map_iterator->second;
    T& …
Run Code Online (Sandbox Code Playgroud)

c++ memory macos pointers c++98

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

如何在SUN上制作gcc以与Linux相同的方式计算浮点数

我有一个项目,我必须用双变量进行一些数学计算.问题是我在SUN Solaris 9和Linux上获得了不同的结果.有很多方法(在这里和其他论坛解释)如何使Linux作为Sun工作,但不是相反.我无法触及Linux代码,所以只有SUN才能改变.有没有办法让SUN像Linux一样行事?

我运行的代码(在两个系统上使用gcc编译):

int hash_func(char *long_id)          
{                                 
    double      product, lnum, gold;
    while (*long_id)
        lnum = lnum * 10.0 + (*long_id++ - '0');
    printf("lnum  => %20.20f\n", lnum);
    lnum = lnum * 10.0E-8;
    printf("lnum  => %20.20f\n", lnum);
    gold = 0.6125423371582974;
    product = lnum * gold;
    printf("product => %20.20f\n", product);
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果输入是339886769243483

Linux中的输出:

lnum  => 339886769243**483**.00000000000000000000

lnum  => 33988676.9243**4829473495483398**

product => 20819503.600158**59827399253845**
Run Code Online (Sandbox Code Playgroud)

在SUN上:

lnum => 339886769243483.00000000000000000000

lnum => 33988676.92434830218553543091

product = 20819503.600158**60199928283691**
Run Code Online (Sandbox Code Playgroud)

注意:结果并不总是不同,而且大多数时候它是相同的.60000中只有10个15位数字有这个问题.

请帮忙!!!

linux floating-point solaris

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

MySQL只从查询结果中返回{first row}!

我很久以前就用我的服务器来测试PHP和MySQL应用程序.

突然,当我尝试对任何数据库中的任何表执行任何查询时,我只获得查询结果中的第一行!

我检查了配置文件,并没有看到任何奇怪的东西.

操作系统:Linux/Ubuntu 10.04 64位服务器版,Web服务器:Apache/2.2.14,MySQL客户端:5.1.41,MySQL服务器:5.1.41-3ubuntu12.3(Ubuntu)

并且,我确信我的PHP代码中没有错误,而当我使用phpMyAdmin时,我通常会获得所有行!.

哪里应该是问题?

php mysql apache ubuntu

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

Python 3:如何在一行代码中比较多个字符串?

我正在尝试在Python 3中进行类别选择(通过文本界面),我想知道如果多个字符串不正确我可以比较,然后按照"那不是一个有效的选择"的方式打印一些东西

    input("what is your category choice?")
    if categoryChoice != "category1", "category 2", "category 3":
    print("not a valid choice")
Run Code Online (Sandbox Code Playgroud)

我不明白检查category1,category2,category3等是否为true/false的语法

python string comparator python-3.x

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

python解释器究竟实现了什么?

我是编程的初学者,并试图从"学习Python by Mark Lutz"学习Python.在"Python解释器介绍"一章中,作者陈述如下:

根据您运行的Python的风格,解释器本身可以实现为C程序,一组Java类或其他东西.

我无法理解如何区分Python代码以便在解释器中进行分区(C程序或Java类,如作者所述).

c python java

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

我可以只使用声明生成一个简单的构造函数吗?

我有一个包含许多实例变量的类:

class Data {
public:
    const double a, b, c, d;
    const size_t e, f, g, h, i, j;
    const std::string s;
    // and so on
    double Q, Z;
    Data(const double a, const double b, ...);
};
Run Code Online (Sandbox Code Playgroud)

以及代码中其他地方的一些相当复杂的逻辑,它们计算所有这些字段应该具有的值,然后创建一个Data对象.

double a = ...;
double b = ...;
// and so on, but not for Q and Z
Data data_instance(a, b, c, d, e, f, g, h, i, j, s, ...);
Run Code Online (Sandbox Code Playgroud)

的值QZ计算在构造,作为其他值的函数.我是这样做的,因为实例Data是不可变的,我希望这些字段可以const帮助编译器强制执行此操作. …

c++ constructor instance-variables c-preprocessor

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