关于ctime返回的时间字符串,不能直接用echo保存到文件的问题
ctime返回的字符串, 在末尾有换行符
char bb[255];
time_t f_time = time(NULL);
strcpy(bb,ctime(&f_time)); //ctime返回的字符串, 在末尾有换行符
int n = strlen(bb);
bb[n-1] ='/0';
sprintf(s,"echo %s>a", b, bb);
//若不去掉末尾的换行符,则成了,echo 字符串 然后换行 >a 所以,这就不是一条命令,故存不成功
system(s);
注意: 在编程中,cout,printf等输出,是非常好的判断BUG的方法。我找了半天原因也没找到为什么存不进去文件,师傅过来一句话点醒梦中人,输出呀,看看s到底是啥。
编程重要的是学会如何找到解决问题的方案,并不拘泥于语言细节。
本文探讨了ctime函数返回的时间字符串在Linux环境下因末尾换行符导致无法直接通过echo命令保存到文件的问题。解决方案在于检查并处理字符串的末尾字符。
2491

被折叠的 条评论
为什么被折叠?



