gpt4 book ai didi

c++ - 使用 Strncpy 在 C++ 中创建一个简单的文本编辑器

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:24 26 4
gpt4 key购买 nike

因此,对于我的计算机科学 162 课,我们的任务是创建一个简单的文本编辑器 - 但我们只允许使用 cstrings/字符数组,因此不允许使用字符串。但是,我们可以使用 cstring 类来执行某些功能。文本编辑器必须修复小错误,例如:如果句号后只有一个空格,则添加第二个;如果诸如“the”之类的简单单词拼写错误(例如“teh”),则自动更正;如果句子的首字母没有大写,就大写。现在,我得到了修复空间的功能,但工作正常,但是检查“teh”并将其更改为“the”的功能让我感到困惑。到目前为止,这是我的程序:

enter_paragraph(char paragraph[])
{
cout <<"Enter a paragraph:";
cin.getlin(paragraph,300,"#");
cout <<"Here is your paragraph: " <<endl<<paragraph;
}

check_spaces(char paragraph[],char new_para[])
{
int l = strlen(paragraph);
int i = 0;
int n = 0;
while(i<l)
{
new_para[n] = paragraph[i];
n++;
if(paragraph[i] == '.')
{
if(paragraph[i+1] == ' ')
{
if(paragraph[i+2] != ' ')
{
new_para[n] = ' ';
n++;
new_para[n] = ' ';
n++;
}
}
}
i++;
}

}

check_the()
{
int l = strlen(new_para);
int i = 0;
char
while(i<l)
{
if(new_para[i] == 't')
{
if(new_para[i+1] == 'e')
{
if(new_para[i+2] == 'h')
{
strncpy(i+
}

check_caps()
{
}

int main()
{
char paragraph[300];

/* prompt user to enter a paragraph (no more than 300 characters) */
enter_paragraph(paragraph);
cout <<"Here is your paragraph: " <<endl<<paragraph;

/* user enters paragraph; program stores it */

/* check paragraph for two spaces after each paragraph; if there aren't, then change it */
check_spaces(paragraph);

/* check paragraph for misspelling of "the"; if user typed "teh," change it to "the" */
check_the();

/* check paragraph for a capitalized first letter after each period; if it is lowercase, change it */
check_caps();

/* 等等等等 输出新的更正段落(最好是作为新数组)*/

我知道主函数中有一些错误,但我现在不担心这些。我只需要有关 check_the 功能的帮助。我如何利用 strncpy 来完成我需要做的事情?如果我缺少更好的方法,那是什么?非常感谢。

最佳答案

为什么要使用“strncpy”?你可以做一个简单的替换,使 newpara[i+1] = newpara[i+2];Newpara[i+2]='e';

关于c++ - 使用 Strncpy 在 C++ 中创建一个简单的文本编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21872174/

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