Gömülü bir linux sistemde (kernel 2.6.23)/mnt'ye takılı bir flash sürücü aygıtım (/ dev/sda1) var. C'yi kullanma Sürücünün boyutunu nasıl çalışırım? Harici araçlarını kullanarak hiçbir sorun varsaC'ye takılı USB flash sürücünün boyutunu nasıl bulabilirim?
cevap
, sen taşınabilirlik endişe değilseniz (C sürücüler hakkında bilmiyor, bu yüzden bu tür özel kod unportable olacaktır), statfs()
kullanmak aygıtın sysfs girişi. Bu cihazda /sys/block/sda/size
- tam cihaz (tüm bölümler ve bölüm tablosu) olarak
/sys/block/sda/sda1/size
cihaz henüz monte edilecek zorunda değildir.
, bu exec: popen kullanarak
df -h | grep -i /dev/sda1
ve strtok ile sonuçlanan çizgi ayrıştırmak.
struct statfs fsb;
if(statfs("/mnt", &fsb) == 0)
printf("device has %ld blocks, each %ld bytes\n", fsb.f_blocks, fsb.f_bsize);
Böyle bir şey yapmaktan kaçınmaya çalışıyorum. Uygulama gömülü bir platform üzerinde çalışıyor ve yukarıdakileri yapmak için çok fazla kaynak gerektiriyor. – Andrew
'-h' muhtemelen girdi gereksizdir çünkü giriş program tarafından okunacaktır. '-i 'ayrıca büyük/küçük harfe duyarlıdır. Bunun dışında iyi bir LSB-uyumlu (örneğin taşınabilir) çözüm. –
Okuma ve bir sayı ayrıştırmak:
- 1. nasıl alabilirim (takılı) tüm USB sürücüler
- 2. C# içindeki USB Flash sürücülerinden VID/PID'yi nasıl alabilirim?
- 3. Sabit sürücünün küme boyutunu alma (kod aracılığıyla)
- 4. Maksimum yığın boyutunu nasıl bulabilirim?
- 5. Flash olmadan swf dosyasının boyutunu nasıl bilebilirim?
- 6. Git bash USB flash sürücüleri tanımlayamıyor
- 7. Linux'taki 'usb aygıt takılı' olaylarını Python'da nasıl dinleyebilirim?
- 8. Belirli bir USB aygıtının takılı olup olmadığını nasıl kontrol ederim?
- 9. Bir USB aygıtının hangi bağlantı noktasına takılı olduğunu nasıl anlarım?
- 10. Hangi sürücünün WinXP
- 11. RMagick - Bir resmin piksel boyutunu nasıl bulabilirim
- 12. Bir USB Flash Belleğini yazılımla nasıl yeniden algılarsınız?
- 13. OSX'te takılı depolama aygıtları nasıl bulunur?
- 14. Çıkarılabilir sürücüyü (ör. USB flash sürücü) algıla C/C++
- 15. Mesos'ta kıvılcım sürücünün yerini nasıl belirleyecektir
- 16. Android USB aygıt algılaması
- 17. Android'de harici USB belleği nasıl okunur/yazılır?
- 18. Flash nasıl çalışır?
- 19. Kullanılabilir USB aygıtlarını bulun Mac OS X
- 20. OS X'de yeni sürücüyü yüklemek için bir USB aygıtı program aracılığıyla "çıkarın ve yeniden takın" mi?
- 21. UWP uygulamasında takılı kulaklık jakı nasıl algılanır?
- 22. Akıllı kart takılı olup olmadığını nasıl anlarım?
- 23. D3 mouseover geçişleri "takılı kalıyor"
- 24. USB cihazları doğrudan donanımlara erişebilir mi?
- 25. Flash banner bağlantısı nasıl eklenir
- 26. Yeni bir sürücü USB veya başka yollarla bağlandığında bildirim alın (C#)
- 27. USB cihazlarını program aracılığıyla bağlayıp çıkarın
- 28. Windows 7'de Android USB Sürücüsünün Yüklenmesi
- 29. Oracle'da bir Veritabanının Boyutunu Bul
- 30. Programın bellek boyutunu PySpark
Yukarıdakiler, statfs'ye iletilen yol "/ mnt" ise çalışır – Andrew