CPP代码从读取IO中随机冻结

问题描述

我正在尝试在linux中读取值。我已经从阅读chronyc资料中找到了问题所在,但是我不知道为什么。它还会在随机时间冻结(例如在迭代100、250或11001上冻结),因此其不一致。它只是始终不会完成所有迭代。它也可以在其他但完全相同的计算机上工作,这使事情变得更加奇怪。

从我的代码来看,这并没有冻结:

void writeTime(){
    FILE *hour;
    FILE *nano;
    char line[9];
    char nLine[10]; 
    system("date +%R.%S |cat >time.txt");
    hour = fopen("time.txt","r");
    fgets(line,9,hour);
    myfile<<line<<".";
    fclose(hour);
    system("date +%N |cat >epoch.txt");
    nano = fopen("epoch.txt","r");
    fgets(nLine,10,nano);
    myfile<<nLine<<",";
    fclose(nano);
}

但这确实

void ntpSync(){
    char ntp[]= <Insert NTP IP Here>;
    FILE *jitter;
    char line[100];
    char *start;
    char *i;
    system("chronyc sources |cat > offset.txt");
    jitter = fopen("offset.txt",100,jitter);
    fgets(line,jitter);
        i=strstr(line,ntp);
            start = strpbrk(line,"+-");
            myfile<<start;
    fclose(jitter);
}

它们相似并且应该可以工作,但是由于某些原因,writeTime不会冻结。有谁知道为什么或知道为什么吗?任何指导或帮助将不胜感激。

注意:我以前在下面的代码中拥有它,因为它更好了,但是却冻结了

void ntpSync(){
    char ntp[]= <insert NTP IP>;
    FILE *jitter;
    char line[100];
    char *start;
    char *i;
    system("chronyc sources|cat > offset.txt");
    jitter = fopen("offset.txt",jitter);
    while(!feof(jitter))
{   
    i=strstr(line,ntp);
    if(i!=NULL){
        start = strpbrk(line,"+-"); 
        myfile<<start;  
    }
    fgets(line,jitter);
}
    fclose(jitter);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...