我有一個算法獲取的文件和文件大小,操作
掃描目錄中的所有文件(用C完成)
2.獲取的文件大小在迴路電流文件(用C完成)
如果小於8 KB的做一些事情,在數組存儲下一個即時的文件名(好像有在C關聯數組不支持)
我已經在PHP中完成了這項工作,但是由於無法預料的事件,現在需要用C語言編寫。我確實經歷了很多關於C的教程,並且誠實地說我低估了我認爲需要得到的時間基本的權利。
經過相當長的一段時間後,我設法讓我的手掌握列出目錄中文件的代碼。
#include <dirent.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
char path = "D:\\ffmpeg\\bin\\frames\\";
DIR *d;
struct dirent *dir;
char test;
d = opendir("D:\\ffmpeg\\bin\\frames\\");
if (d)
{
while ((dir = readdir(d)) != NULL)
{
printf("%s\n", dir->d_name);
}
closedir(d);
}
getchar();
return(0);
}
現在很明顯,循環中的當前文件由dir->d_name
表示。我卡住的東西是採取此並將其追加到"D:\\ffmpeg\\bin\\frames\\"
,使路徑變爲"D:\\ffmpeg\\bin\\frames\\somename.jpg"
這將幫助我獲得文件的直接路徑。一旦我得到,我將有所需的數據移動到第2步。我現在面臨的問題是字符串連接。我試過strcat()
,但沒有成功。
所以基本上我要找的是
while ((dir = readdir(d)) != NULL)
{
// merge "path" and "dir->d_name" to get something similar like
// "D:\\ffmpeg\\bin\\frames\\somename.jpg"
}
任何幫助,建議?
爲什麼要提到PHP?你不會顯示你想要轉換的PHP代碼,所以它是不相關的。 – geoffspear 2013-02-14 12:21:02
只是爲了防止一個PHP的人做了類似的事情可能會遇到這個..有人確實刪除了標籤..... – asprin 2013-02-14 12:21:59