[英]Autostart application in Linux, output fail
朋友們。 我正在使用Debian Linux(Raspberry Pi),我想在Linux啟動后自動啟動程序。 這是一個C程序,可以在終端上運行printf,在文本文件上運行fprintf,我已經對其進行編譯並得到exe文件(文件名為test),路徑為/ home / username / try / test,程序可以成功運行,printf和fprintf可以工作。 取得exe檔案后,執行命令
sudo chmod +x /home/usernane/try/test
然后在/home/username/.config中創建一個新文件夾“ autostart”,然后運行命令
cd /home/username/.config/autostart
sudo nano test.desktop
我繼續寫桌面文件:
[Desktop Entry]
Name=test
exec=lxterminal -e "/home/username/try/test"
Type=Application
之后,我重新啟動。 程序可以自動啟動,但是當程序啟動到fprintf時,程序退出。 我在代碼中刪除了fprintf,重做了所有程序,程序可以成功運行並且可以執行printf結果。 所以問題是fprintf(我想將結果輸出到txt文件)! 我嘗試了許多方法,但無法解決。 我需要您的建議,謝謝!
我按以下方式執行了fprintf:(我正常運行程序(不是自動啟動),它可以工作。如果自動啟動,程序將退出)
FILE *fp;
char results[50]
/* check if file could be opened */
if((fp=fopen("xy.txt", "w")) == NULL) { // or use "a" instead of "w" to create the file if it doesn't exist
printf("Cannot open file.\n");
exit(1);
}
/* put your results into results[] */
....
/* afterwards writing to file */
fprintf(fp, "%s", results);
fclose(fp);
您是否嘗試過這樣做?
FILE *fp;
char results[50]
/* check if file could be opened */
if((fp=fopen("test.txt", "w")) == NULL) { // or use "a" instead of "w" to create the file if it doesn't exist
printf("Cannot open file.\n");
exit(1);
}
/* put your results into results[] */
....
/* afterwards writing to file */
fprintf(fp, "%s", results);
fclose(fp);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.