|
alt ctrl t 打開終端 gnome-session-properties
|
|
|
|
使用這種方法添加啟動項要注意一個問題: 開機啟動後,這個程序的工作目錄為home/用戶名,並不是程序所在目錄!(這和windows下是一樣的) 如果程序運行時輸出了文件,則不能直接添加該程序到啟動項中,應該添加sh文件。
|
|
以以下程序為例,原始碼: #include <iostream> #include <stdio.h> #include <time.h> #include <string> #include <memory.h>
using namespace std;
int main() { //獲取星期數 string month_en[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; string month_zh[]={"一","二","三","四","五","六","日"}; int i; time_t t=time(0); char tmp[64]; strftime(tmp,sizeof(tmp),"%A",localtime(&t)); //獲取星期英文字元串 for (i=0;i<7;i++) if (month_en[i]==tmp) break; string str="%Y-%m-%d %X 星期"; str+=month_zh[i]; str+=" 開機 [本年第%j天 %z]\r\n"; //顯示其他元素 memset(tmp,0,64); strftime(tmp,sizeof(tmp),str.c_str(),localtime(&t)); //tmp變數為最終要寫入文件的字元串 cout<<"Welcome!"<<endl; cout<<tmp; //寫入文件 char filename[20]; strftime(filename,sizeof(filename),"powerlog_%Y.txt",localtime(&t)); //根據年份生成文件名 FILE* file=fopen(filename,"a"); //打開文件 fwrite(tmp,strlen(tmp),1,file); //應該用strlen而不是sizeof,否則會亂碼 fclose(file); return 0; }
用g++編譯後,不應該直接添加該程序為啟動項。要先建立一個sh文件,這裡我的文件名是autorun.sh: #!/bin/bash cd /home/octopus/程序/huber/powerlog ./powerlog
然後添加該sh文件為啟動項,然後重啟/註銷,會發現程序目錄下多了個powerlog_2012.txt文件
|
|
回復:5樓 如果是直接添加程序為啟動項而不是sh文件的話,那麼重啟/註銷,會發現新增的txt文件在home/用戶名目錄中。 (windows下也是這樣,只不過不是home/用戶名目錄下)
|
|
【補充】 其實用不著打開終端,先點最右上角的關機按鈕再點「啟動應用程序」也行。
|
|
|
|
英文版本: #include <iostream> #include <stdio.h> #include <time.h> #include <string> #include <memory.h>
using namespace std;
int main() { time_t t=time(0); char tmp[64]; strftime(tmp,sizeof(tmp),"%A",localtime(&t)); //Day of week string str="%Y-%m-%d %X "; str+=tmp; str+=" [#%j %z] POWER ON\r\n"; memset(tmp,0,64); //reset the buffer strftime(tmp,sizeof(tmp),str.c_str(),localtime(&t)); //Now tmp is the string to be written into the file and to be printed to the screen cout<<"Welcome!"<<endl; cout<<tmp; //Write char filename[20]; strftime(filename,sizeof(filename),"powerlog_%Y.txt",localtime(&t)); //filename FILE* file=fopen(filename,"a"); //Open or create the file fwrite(tmp,strlen(tmp),1,file); //use strlen instead of sizeof fclose(file); return 0; }
makefile: powerlog: powerlog.cpp g++ powerlog.cpp -o powerlog
|
|
10樓 巨大八爪鱼
2015-2-21 23:58
string month_es[]={"Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo"};
|