每隔一段时间改变某个参数的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程序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章