小编Gia*_*oni的帖子

fgets和错误处理有点麻烦

我最近开始学习C并且遇到了代码剪切的一点问题.

我想要想要读取一个字符串,20个字符长,超过stdin,所以我选择了fgets.

这是我的代码:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
unsigned int length = 20;
char input_buffer[length];
fgets(input_buffer, length, stdin);
if(input_buffer == NULL)
    printf("Error, input too long");
else
    printf("%s", input_buffer);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

它编译没有任何错误,如果我输入一个短于20个字符的句子,一切都很好.但是当我尝试测试错误处理时,它失败了.

输出是:

peter@antartica ~/test % ./test    
Hello world, this is a very long test
Hello world, this i%      
Run Code Online (Sandbox Code Playgroud)

我做错了吗?我认为fgets如果失败会返回一个NULL指针(这应该是这种情况)?

感谢您的任何帮助.

c fgets

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

PDFBOX在android中的使用

我无法在 android 模拟器中使用 pdfbox 运行 pdf 文本提取。然而,当作为独立的 Java 应用程序运行时,代码运行良好。

使用了 PDFBOXv1.8.4 并使用 pdfbox jar 正确设置了构建路径。可能出现了什么问题?

此外,我还看到一些帖子建议不要使用 pdfbox,因为 android 库不支持 drawables(java.awt.*)。真的是这样吗?我是否仍然希望使用 pdfbox 解析我的简单 pdf 文件(仅文本)。

代码如下

public static void PdftoText(InputStream input) 
{
    PDFParser parser ; 
    COSDocument cosDoc;
    PDFTextStripper pdfStripper;
    PDDocument pdDoc;
    String parsedText;
    try
    {
        parser = new PDFParser(input);
        parser.parse();

        cosDoc = parser.getDocument();
        pdDoc = new PDDocument(cosDoc);

        pdfStripper = new PDFTextStripper();


        if(pdDoc != null){

            pdfStripper.setWordSeparator(":");
            parsedText = pdfStripper.getText(pdDoc);

            System.out.println(parsedText);             
        }

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的例外

03-26 …
Run Code Online (Sandbox Code Playgroud)

android pdfbox

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

标签 统计

android ×1

c ×1

fgets ×1

pdfbox ×1