Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Nein, nicht in Standard C/C++.Hallo Forum,
Ich würde gerne einen if-Befehl in mein c++-Programm schreiben, der schaut wie groß z. B. die datei test.exe ist, und wenn das dann
also z.B. : wenn test.exe gleich 20kb dann gib das aus.
Gibt es dafür einen Befehl?
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
struct stat sBuffer;
char* acFileName ="test.exe";
stat(acFileName, &sBuffer);
long lFileSize = sBuffer.st_size;
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for filesystem I/O */
blkcnt_t st_blocks; /* number of blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
Dann lass ihn doch mal suchen! Das größte Problem was die meisten hier haben, ist daß sie nicht suchen können.P.S.: Das findet man auch ruck zuck im Internet.
struct stat {
dev_t st_dev /* Device, auf dem die Datei liegt */
ushort st_ino /* i-node-Nummer */
ushort st_mode /* Dateityp */
short st_nlink /* Anzahl der Links der Datei */
ushort st_uid /* Eigentuemer-User-ID (uid) */
ushort st_gid /* Gruppen-ID (gid) */
dev_t st_rdev /* Major- und Minornumber, falls Device */
off_t st_size /* Größe in Byte */
time_t st_atime /* Zeitpunkt letzter Zugriffs */
time_t st_mtime /* Zeitpunkt letzte Änderung */
time_t st_ctime /* Zeitpunkt letzte Statusänderung */
};
int stat(char *dateiname, struct stat *puffer);
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char **argv)
{
struct stat Status;
int Dateityp;
stat(argv[1], &Status);
printf("Dateirechte: %o \n", Status.st_mode & ~S_IFMT);
Dateityp = Status.st_mode & S_IFMT;
switch (Dateityp) {
case S_IFREG: puts("Datei"); break;
case S_IFDIR: puts("Verzeichnis"); break;
default: puts("Sonstiges");
}
printf("Dateigroesse: %d Bytes \n",Status.st_size);
system("pause");
return 0;
}
Ich nehme mal an, dass Du noch recht wenig Erfahrung in C/C++ hast. Meine Empfehlung, die ich auch meinen Studenten so gebe, schnapp Dir ein C/C++ Tutorial für Anfänger aus dem Internet (mit google Abertausende auffindbar) und probiere die dort gestellten Aufgaben auch selbst aus. Modifiziere die Beispiele, d.h. spiele einfach mal mit rum, so bekommst Du am besten ein Gefühl dafür. Es bringt glaube ich nichts, wenn wir Dir Deinen Quellcode schreiben.€: Kann mir vllt mal einer einen Quellcode posten, der ungefähr das macht wie ich es ganz oben beschrieben habe? Denn mit diesen dort komme ich nicht so klar, aber ich denke, wenn ich eine Quellcode sehe, der ungefähr das macht wie ich es brauche, kann ich es besser verstehen
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char **argv)
{
struct stat Status;
stat("C://test.exe", &Status);
printf("Dateigroesse: %d KB \n",Status.st_size/1000);
if((Status.st_size/1000) == 20) // 1KB = 1000 Byte
puts("bla");
else
puts("blub");
system("pause");
return 0;
}