C++ 从c+;转换为大写注释+;程序

C++ 从c+;转换为大写注释+;程序,c++,readfile,toupper,C++,Readfile,Toupper,我试图读取一个文件,然后将注释转换为文件中的大写字母 这是我的密码: char s[100]; void initstring(); void error(char); void cap(char s[]); void main(void) { initstring(); getchar(); } void initstring() { FILE *fp; fp = fopen("example.txt","r"); while(fgets(s,100,fp)!=NULL) {

我试图读取一个文件,然后将注释转换为文件中的大写字母

这是我的密码:

char s[100];
void initstring();
void error(char);
void cap(char s[]);
void main(void)
{
  initstring();
  getchar();
}
void initstring()
{

FILE *fp;
fp = fopen("example.txt","r");
while(fgets(s,100,fp)!=NULL)
{
   cap(s);
}

}
void cap(char s[])
{
    cout << "its in";
 for(int i=0;i<strlen(s);i++)
 {
    if(s[i]=='/' && s[i+1]=='/')
    {       int x=i;
        do
        {
            s[x]=toupper(s[x]);
            x++;
        }while(s[x]!='\n');
        break;
    }
    else if(s[i]=='/' && s[i+1]=='*')
    {
        int y=i;
        do
        {
            s[y]=toupper(s[y]);
            y++;
        }while(s[y]!='/');
        break;
    }

 }
 cout << s;
}
实际上,程序最初是C语言,现在我用C++来做。
感谢您的帮助。

这只是MSVC新版本的行为。在文件开头添加
#定义_CRT\u SECURE\u NO\u警告
,以继续使用不安全的功能


关于警告,这是因为strlen返回的是无符号int,而不是有符号int,因此您可以将
int i
转换为
unsigned int i
,以避免警告

这只是MSVC新版本的行为。在文件开头添加
#定义_CRT\u SECURE\u NO\u警告
,以继续使用不安全的功能。关于警告,因为<代码>斯特伦< /C> >返回一个未签名的int,而不是一个签名的int,因此您可以将<代码> int i /c> > <代码>未签名int i/代码>以避免警告。如果您想切换到C++,请先写C++程序。例如,使用std::ifstream而不是fopen。谢谢@Govind让我试试tanks@govindParmar完成了。
warning C4018: '<' : signed/unsigned mismatch
Error   1   error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.