小编Ter*_* Li的帖子

如何抛出C++异常

我对异常处理的理解很差(即,如何根据自己的目的自定义throw,try,catch语句).

例如,我已经定义了一个函数如下: int compare(int a, int b){...}

当a或b为负时,我希望函数抛出一些带有异常消息的异常.

我应该如何在函数的定义中处理这个问题?

c++ exception-handling

226
推荐指数
5
解决办法
31万
查看次数

使用0x表示法的数字是什么意思?

数字上的0x前缀是什么意思?

const int shared_segment_size = 0x6400;
Run Code Online (Sandbox Code Playgroud)

它来自C程序.我不记得它的x含义,特别是这封信的含义.

c hex integer notation

94
推荐指数
5
解决办法
10万
查看次数

谷歌访谈:块的安排

给你N块高度1 ... N. 您可以通过多少种方式将这些块排成一排,这样当从左侧看时,您只能看到L个块(其余部分被较高的块隐藏),从右侧看时您只看到R块?给出的例子N=3, L=2, R=1只有一种安排,{2, 1, 3}N=3, L=2, R=2有两种方式{1, 3, 2}{2, 3, 1}.

我们应该如何通过编程解决这个问题?任何有效的方法?

language-agnostic algorithm combinatorics

40
推荐指数
3
解决办法
6089
查看次数

Java new File()表示FileNotFoundException,但文件存在

我有一个CS课程的作业,它说要读取一个包含多个考试成绩的文件,并要求我对它们进行求和.虽然求和和平均很容易,但我在阅读文件方面遇到了问题.讲师说要使用这种语法

Scanner scores=new Scanner(new File("scores.dat"));
Run Code Online (Sandbox Code Playgroud)

但是,这会抛出一个FileNotFoundException,但是我一遍又一遍地查看当前文件夹中是否存在该文件,之后,我认为它必须对权限做一些事情.我为每个人更改了读写权限,但它仍然无法正常工作,但仍然会抛出错误.有谁知道为什么会这样?

编辑:它实际上是指向一个目录,但是,我已经解决了这个问题.file.exists()返回true,但是,当我尝试将它放入扫描程序时,它会抛出filenotfoundexception

这是我的所有代码

import java.util.Scanner;
import java.io.*;
public class readInt{
        public static void main(String args[]){
                File file=new File("lines.txt");
                System.out.println(file.exists());
                Scanner scan=new Scanner(file);
        }
}
Run Code Online (Sandbox Code Playgroud)

java filenotfoundexception

32
推荐指数
5
解决办法
19万
查看次数

将char*转换为字符串C++

我知道字符串的起始地址(例如char* buf)和字符串的最大长度int l;(即字符总数小于或等于l).

string从指定的内存段获取值的最简单方法是什么?换句话说,如何实施string retrieveString(char* buf, int l);.

编辑:内存保留用于写入和读取可变长度的字符串.换句话说,int l;表示内存的大小而不是字符串的长度.

c++ string char

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

Java如何访问内部枚举类

public class Constant {

  ......

  public enum Status {
    ERROR,
    WARNING,
    NORMAL
  }

  ......

}
Run Code Online (Sandbox Code Playgroud)

编译后,我得到了一个名为Constant $ Status.class的类文件.问题是,如何访问枚举值.例如,我想获得ERROR状态的字符串表示.

java enums

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

极少数情况下必须使用MACRO

调试宏可能需要很长时间.我们最好避免使用它们,除非在非常罕见的情况下,常量,函数和模板都不能达到我们想要的效果.

什么是罕见的情况?

c c++ macros

26
推荐指数
5
解决办法
3205
查看次数

JUnit assertEquals()对两个对象失败

我创建了一个类并重写了equals()方法.当我使用时assertTrue(obj1.equals(obj2)),它将通过测试; 但是,assertEquals(obj1, obj2)测试将失败.有人可以告诉原因吗?

junit equals

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

Java String trim无效

Java String trim不会为我删除空格字符.

String rank = (some method);
System.out.println("(" + rank + ")");
Run Code Online (Sandbox Code Playgroud)

输出是(1 ).注意1右边的空格.

我必须从字符串中删除尾随空格,rank但既不删除它rank.trim()也不rank.replace(" ","")删除它.

rank无论哪种方式,字符串都保持不变.

编辑:完整代码 ::

Document doc = Jsoup.connect("http://www.4icu.org/ca/").timeout(1000000).get();
Element table = doc.select("table").get(7);
Elements rows = table.select("tr");
for (Element row: rows) {
  String rank = row.select("span").first().text().trim();
  System.out.println("("+rank+")");
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能删除那个空间?

java string unicode spaces trim

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

C++ boost库shared_memory_object对'shm_open'的未定义引用

我试图在ubuntu 11.04上编译以下代码:

#include <boost/interprocess/shared_memory_object.hpp> 
#include <iostream> 

int main() 
{ 
  boost::interprocess::shared_memory_object shdmem(boost::interprocess::open_or_create, "Highscore", boost::interprocess::read_write); 
  shdmem.truncate(1024); 
  std::cout << shdmem.get_name() << std::endl; 
  boost::interprocess::offset_t size; 
  if (shdmem.get_size(size)) 
    std::cout << size << std::endl; 
} 
Run Code Online (Sandbox Code Playgroud)

只是为了得到以下错误:

/tmp/cc786obC.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0xe0): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x116): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x16c): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x1c0): undefined reference to `shm_open'
collect2: …
Run Code Online (Sandbox Code Playgroud)

c++ boost compiler-errors shared-memory ubuntu-11.04

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