scanf之后的程序关闭char *

时间:2016-05-07 06:34:33

标签: c string crash scanf

如果我输入" img1.png"(图片在项目目录中),我一直试图抄写用户的图片路径,它不会工作,甚至如果我输入" ./ images / img1.png"(此外图片现在位于与项目位于同一目录中的images文件夹中。 唯一不会崩溃但却显然不对的打字是" .img1.png"但后来我不会得到我需要的来源。 所有的方法都运行正常,因为在此之前我收到了像之前提到的图像文件夹中的一些图像。 我会帮助你提供帮助,我试图解决这个问题将近3天。

    char query[1024]
    int** queryHist;
    double** querySift;
    queryHist = (int**)malloc(sizeof(int*)*bins);
    printf("Enter a query image or # to terminate:\n");
    fflush(NULL);
    scanf("%s",query);
    printf("----%s",query);
    sleep(10);
    if(strcmp("#", query) == 0){
        printf(EXIT_MSG);
        fflush(NULL);
        free(nFeatures);
        free(hist);
        void free(void*);
        return 0;
    }
    queryHist =  spGetRGBHist(query, bins);
    querySift =  spGetSiftDescriptors(query, fet, &queryFeatures);
    bestHistsdis = bestHistogramDistances(queryHist, hist, bins, num);

bins来自用户。我的问题甚至没有得到queryHist / querySift。我已经尝试在从用户收到后打印查询,但程序不会打印并崩溃,甚至尝试使用5秒的睡眠以防它没有时间打印查询仍然没有崩溃打印但仍等待时间

P.S所有的变量都是在方法的顶部宣布的,我已经合作了所以他们会在这里 P.2.2我只允许使用c

中的方法

0 个答案:

没有答案