gpt4 book ai didi

c++ - 将来自 C++ 程序的注释仅转换为大写

转载 作者:行者123 更新时间:2023-11-30 03:59:20 25 4
gpt4 key购买 nike

我正在尝试读取一个文件,然后将文件中的注释转换为大写。

这是我的代码:

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;
}

它在 s 上给我警告,

warning C4018: '<' : signed/unsigned mismatch

和 fopen 上的错误

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.

其实这个程序最初是用c写的,我现在用c++写。

感谢您的帮助。

最佳答案

这只是新版本 MSVC 的行为。将 #define _CRT_SECURE_NO_WARNINGS 添加到文件的开头以继续使用不安全的函数。

关于警告,那是因为 strlen 返回一个 unsigned int,而不是一个 signed int,所以你可以将 int i 变成 unsigned int i 以避免警告。

关于c++ - 将来自 C++ 程序的注释仅转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26967314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com