小编Zac*_*dle的帖子

argv从C中的控制台输入读取*字符时出现问题

我试图读取:(int 1)operator(int 2)或returnType(int 1)operator(int 2),共有4 - 5个参数,来自控制台并根据输入执行数学运算符.它适用于除*之外的所有内容(用于乘法).它在我的代码中从以下错误catch返回错误:

if(argc == 4){
    do this...
}
else if{ argc == 5){
    do this...
}
else {
    fprintf(stderr,"usage error, invalid arguments\n");
    return 3;
}
Run Code Online (Sandbox Code Playgroud)

无论我放入什么,它都会遇到这个错误.如果我"测试X string1*string2"或"测试string1*string2"无论是方式,4或5个参数,它都会给我一个错误(也为1-抛出参数) 10个参数,刚刚测试过看).我认为不需要更多代码,因为它可能只需要操作*(特殊字符?)的输入,但如果需要更多代码,请告诉我.

c math stderr argv

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

从C中的argv [i]检查fopen时出错

我一直在尝试使用我的代码进行错误检查,以确保给出的参数是一个有效的文件.以下代码:

int main(int argc, char *argv[]){
    for(int i = 1, i <=argc, i++){
         FILE *fileIn = fopen(argv[i],"r");
         if(fileIn == NULL){
                fprintf(stderr,"The file %s doesn't exist.",fileIn);
         }
         else if (fileIn != NULL){
             do a bunch of stuff, including printing out values from a struct
         }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当我运行我的程序时,我将其作为输出:

The (null) file doesn't exist
Output from else if loop
Run Code Online (Sandbox Code Playgroud)

所以基本上,它是说fileIn为null并且不是同时为null.它正常读取文件并按原样执行,但每次都会运行错误.有没有办法分配指向argv [i或什么?这是怎么回事?

c error-handling null if-statement file

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

创建一个通用数组以在java中使用哈希表

我理解哈希表背后的想法,但实现变得令人沮丧.我做了一些阅读并得到了不同的答案.我已经读过,我可以实现一个通用的对象数组,如下所示:

TableContainer[] classTable = 
    (TableContainer<Object,Object>[]) new TableContainer[256];
Run Code Online (Sandbox Code Playgroud)

tableContainer的位置是:

class TableContainer<key,val>{
    Object key = null;
    Object val = null;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我尝试在函数中传递以下代码时:

classTable[i].key = x
Run Code Online (Sandbox Code Playgroud)

我得到一个空指针异常.我知道在java中创建泛型数组会因为类型擦除而变得混乱,但我认为上面的实现会起作用.有没有办法创建一个列表或泛型数组用作哈希表?(不允许使用散列表/散列映射类)

java generics hash nullpointerexception

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