小编agg*_*877的帖子

编写自己的分区恢复

我意识到我问的问题不是一个简单的"O,这很简单!做一个简单的这个,那个和vo!" 事实是,一天晚上我没有想到我删除了错误的分区.我尝试了一些Windows和Linux工具(分区磁盘医生,Easeus,测试磁盘等),但没有一个工作.我认为这是因为我删除分区的方式.

我已经用C++编写了我自己的引导扇区创建者/备份工具,以及C和汇编程序中的一两个内核(尽管是相当无用的内核......)所以我认为我有足够的知识至少可以恢复它手动.

我的驱动器设置如下:

 Size: 1.82TB
 part0 100MB (redundant windows recovery partition)
 part1 ~1760MB (my data partition)
Run Code Online (Sandbox Code Playgroud)

我是怎么打破它的:

在Windows 7中,我删除了第一个分区.然后我扩展了第二个占用第一个的可用空间,这意味着我仍然有2个分区,现在作为一个动态分区.我重新启动进入我的Ubuntu操作系统,并意识到我无法再读它了.我重新启动回Windows,删除了第一个分区,然后想了想,等等......我不应该这样做.不用说它现在已经死了.

我想要的是一些建议/良好的链接,从哪里开始,什么不该做,什么不期望.我希望如果期刊仍然完整,我将能够恢复驱动器.

编辑:
这是一个NTFS驱动器.在发布这个问题后,我想知道:鉴于我知道我的分区所在的大致位置,有没有办法轻松识别期刊?也许我可以自己重建一些其他驱动器/分区信息并将其写入磁盘.

c c++ assembly partitioning data-recovery

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

返回指针的最佳方法

我已经看过至少5个以这种方式返回指针的C++教程站点:

int* somefunction(){
    int x = 5;
    int *result = &x;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

这不是一个非常非常糟糕的主意吗?我的逻辑告诉我,返回指针的值可以随时被覆盖.我宁愿认为这是正确的解决方案:

int* somefuntion(){
    int x = 5;
    int* result = new int;
    *(result) = x;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

然后离开调用函数删除指针.或者我错了?

c++

5
推荐指数
3
解决办法
999
查看次数

在jquery中获取<ul>和<li>的层次结构位置

我试图了解我的li使用jquery的深度嵌套,然后创建一个包含li和数字的字符串,以及它们嵌套的深度.例如:

<ul>
    <li>
    MenuItem1
    </li>

    <li>
    MenuItem2
        <ul>
            <li>
            SubItemA
            </li>
        </ul>
    </li>

    <li>
    MenuItem3
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

应该产生"0:MenuItem1 0:MenuItem2 1:SubItemA 0:MenuItem3"或至少类似的东西.任何想法将不胜感激.

javascript jquery

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

从OnClickListener中的EditText调用getText时发生空指针异常

我有一个自定义对话框.当我单击"确定"时,我希望它从其EditText字段中获取文本.但是,它会抛出空指针异常.

码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.dialog_delivered, (ViewGroup)findViewById(R.id.llDeliveredDialog));

builder.setMessage("Dialog message");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
    final EditText text = (EditText)findViewById(R.id.etGivenTo);
    String value = text.getText().toString();
    }
});

builder.setCancelable(false);
builder.setView(layout);
builder.show();
Run Code Online (Sandbox Code Playgroud)

XML布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llDeliveredDialog"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/etGivenTo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

android android-widget

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

打印Runtime.getRuntime().exec()输出直播

我正在编写一个Java程序,用于在设置的时间间隔内调用PHP脚本.PHP脚本输出大量数据,并且客户端要求Java程序在脚本运行时显示所有PHP脚本的输出.

我正在使用的方法是:

Runtime.getRuntime().exec(new String[]{"php", "file.php"});
Run Code Online (Sandbox Code Playgroud)

然后使用a InputStreamReader来获取输出,主要使用此处的示例.我遇到的问题是,当PHP脚本退出时,流阅读器只输出数据(考虑到输出是如何循环的,这是有意义的).

在脚本运行时,如何实时打印脚本的输出?

java outputstream runtime.exec

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