Include following header files
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <io.h>
//Code Start
#include "stdafx.h"
void printMyMsg();
int setRead(wchar_t *);
int setWrite(wchar_t *);
char * wcharToChar(wchar_t *);
int _tmain(int argc, _TCHAR* argv[])
{
if(argc < 3)
{
printMyMsg();
exit(2);
}
if(!_wcsicmp(argv[1],L"-r"))
{
setRead(argv[2]);
exit(2);
}
else if(!_wcsicmp(argv[1],L"-w"))
{
setWrite(argv[2]);
exit(2);
}
else
{
printMyMsg();
exit(2);
}
return 0;
}
int setRead(wchar_t * fname)
{
return(_chmod(wcharToChar(fname),_S_IREAD));
}
int setWrite(wchar_t * fname)
{
return(_chmod(wcharToChar(fname),_S_IWRITE));
}
void printMyMsg()
{
printf("\nUsage: SetFileAttribute -R|-W <filename>");
printf("\n");
system("pause");
}
char * wcharToChar(wchar_t * inStr)
{
size_t len = wcslen(inStr);
char * tchar = (char *)malloc(len+1);
wcstombs_s(NULL,tchar,len+1,inStr,len+1);
return(tchar);
}
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <io.h>
//Code Start
#include "stdafx.h"
void printMyMsg();
int setRead(wchar_t *);
int setWrite(wchar_t *);
char * wcharToChar(wchar_t *);
int _tmain(int argc, _TCHAR* argv[])
{
if(argc < 3)
{
printMyMsg();
exit(2);
}
if(!_wcsicmp(argv[1],L"-r"))
{
setRead(argv[2]);
exit(2);
}
else if(!_wcsicmp(argv[1],L"-w"))
{
setWrite(argv[2]);
exit(2);
}
else
{
printMyMsg();
exit(2);
}
return 0;
}
int setRead(wchar_t * fname)
{
return(_chmod(wcharToChar(fname),_S_IREAD));
}
int setWrite(wchar_t * fname)
{
return(_chmod(wcharToChar(fname),_S_IWRITE));
}
void printMyMsg()
{
printf("\nUsage: SetFileAttribute -R|-W <filename>");
printf("\n");
system("pause");
}
char * wcharToChar(wchar_t * inStr)
{
size_t len = wcslen(inStr);
char * tchar = (char *)malloc(len+1);
wcstombs_s(NULL,tchar,len+1,inStr,len+1);
return(tchar);
}