每隔一段时间改变某个参数的c程序怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每隔一段时间改变某个参数的c程序怎么写?相关的知识,希望对你有一定的参考价值。

现在有一个txt文档,怎么写一个C程序定时改变里面某一行的参数(比如每隔5分钟让那个参数递增1就行),而且已知参数前是有固定匹配符的。 高人帮忙写个小程序吧,多谢了!

把要实现的目的说清楚一点哦 !
什么固定通配符?

你的递增1不知道会不会改变位数?如果不改变位数的话好办:
#include<stdio.h>
#include<windows.h>
#include <conio.h>

void main()

FILE* file;
char temp[1024];
int lineIndex = 3;
int res = 0;
//int nCount = 0;
while(1) //无限循环 while(nCount<100)可设定循环100次

for(int i=0;i<5;i++)
Sleep(60000); //等待时间, 单位毫秒,最大60秒,循环5次为5分钟
//nCount++;
int nPos = 0;
if ((file = fopen("test.txt", "r+")) == NULL)

printf("\aError opening test.txt\n");
getch();
exit(2);


for(i=0; i<lineIndex-1; i++)

fgets(temp, 1024, file); //读取第i+1行
nPos += strlen(temp); //计算读取字符个数,写入前必须指定写入流位置


fgets(temp, 1024, file); //读取第lineIndex行数据
res = atoi(temp) + 1; //字符串转化成int型整数并递增1
itoa(res, temp, 10); //10进制数转化成字符串

fseek(file, nPos, SEEK_SET); //指定写入流位置
fprintf(file, "\n%s\n", temp); //写入,如果增位的话,会替代后面的字符

if (fclose(file) == EOF)

printf("\aError closing test.txt\n");
exit(3);


exit(0);


如果会改位数的话,比如99增加为100,则会替代后面的字符。上述方法不可行,需要先把txt所有内容全部读取出来,修改之后再全部重新写进去!稍微复杂一点!
参考技术A 用库函数localtime()或者其它实现定时.
先事先计算出那个参数的offset,然后,每隔一段时间open一下,然后,fseek到offset处再fprintf好了.
具体函数用法一搜就好了.

Aframe每隔一段时间改变天空

我尝试我的aframe-sky-component每3秒改变一次他的图像,但它不起作用。这里我编码到目前为止:

 <script type = "text/javascript">
   function startTimer(){
  setInterval(function(){ nextimage(); }, 3000);

   function nextimage() {
     var zahl = 0;

     if (zahl == 0) {
       $("#skyid").attr("src","#sky_2");
       zahl ++;
     }
     if (zahl == 1) {
       $("#skyid").attr("src","#sky_3");  
       zahl ++;
     }
     if (zahl == 2) {
       $("#skyid").attr("src","#sky_4");  
       zahl ++;
     }
     if (zahl == 3) {
       $("#skyid").attr("src","#sky_1"); 
       zahl ++;
     }
     if (zahl == 4) {
       zahl == 0;
     }
     }
   }
  </script>   

我想我有一些逻辑错误可以帮助:D

答案

每次调用nextImage时,zahl都会设置为0。

您可以将其移动到外部范围:

function startTimer(){
  setInterval(function(){ nextimage(); }, 3000);
  var zahl = 0;
  function nextimage() {
  ....

就像我做了here。现在它不会通过调用nextImage()来调零,所以它就像一个计数器。


另外我认为更优雅的解决方案是使用颜色数组:

var colors = ["blue", "red", "green", "yellow"]
function nextimage() {
  $("#skyid").attr("color", colors[zahl])
  zahl = (zahl < colors.length - 1) ? ++zahl : 0 
  //zahl is incremented until its reached the end of the array
}

以上是关于每隔一段时间改变某个参数的c程序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何保证每隔一段时间执行一个动作。

c#中如何保证每隔一段时间执行一个动作,即实现刷新功能?

请问C编程中怎么使一段代码每隔一段时间自动执行一遍

java中如何每隔一段时间执行一个函数

每隔一段时间自动执行一次某个方法

如何在JAVA中每隔一段时间执行一段程序