2016-11-11 63 views
0

我正在使用試圖從一組MP3文件中獲取特定信息,目前我處於保存MP3的主cygwin64中文件並只包含讀取程序的輸出,將其保存爲字符串,並在原始程序中使用該字符串

FILE * fp; 

它包含一行代碼,因爲當該行代碼已經到位,I型和cygwin命令行運行「thing.c」它輸出什麼.c文件似乎是文件夾內容的信息。例如,它輸出,

home:              sticky, directory 
lib:              directory 
sbin:              directory 
setup-x86_64.exe:           PE32+ executable  (GUI) x86-64 (stripped to external PDB), for MS Windows 
song.mp3:             Audio file with  ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz,  JntStereo 
song1.mp3:             Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo 
thing.c:             ASCII text, with CRLF line terminators 
thing.txt:             empty 

我想要做的是能到輸出拉成一個字符串,然後我就可以在我的C文件中使用和修改,然後重新打印出新的改變的信息。然而,我不確定輸出是從哪裏來的,或者我怎麼能夠得到它,或者將輸出保存爲.txt文件還是保存爲C文件。 任何意見表示讚賞謝謝!

+0

這個問題沒有什麼意義。爲了使thing.c做任何有意義的事情,它需要有多行,一個主函數和一種將文件編譯成可執行文件的方式。 –

回答

0

該文件根本不是真正的C文件。因爲你在Cygwin,你可能在不區分大小寫的文件系統(NTFS)上運行。因此,當您運行.c文件時,Cygwin的file命令正在運行。你試圖聲明一個變量(顯然)的方式恰好是在執行'file * fp'命令。我相信你在輸出的其餘部分後得到fp: Cannot open "fp"或類似的東西。

這不是任何與C有關的東西,而只是被shell解釋爲一個腳本。

聽起來好像你有很多東西需要學習,如果你想在C中做到這一點。更有可能的是,你可以編寫一個shell腳本來完成你想要的東西。雖然我從來沒有使用它,但存在用於從MP3文件中提取標籤信息的mp3infohttps://github.com/jaalto/cygwin-package--mp3info)。您可以從中獲取所需的確切信息,或者將輸出傳送到sed,awk或其他許多工具。

相關問題