C++ 如何转换此C++;代码转换成C代码?

C++ 如何转换此C++;代码转换成C代码?,c++,c,C++,C,我很难弄明白如何转换一个简单的C程序。我找不到像vector这样的变量的替代方案。它将如何在C中使用?并包括 #包括 使用名称空间std; 字符串元音(string str) { 向量元音={'a','e','i','o','u', ‘A’、‘E’、‘I’、‘O’、‘U’}; 对于(int i=0;i

我很难弄明白如何转换一个简单的C程序。我找不到像
vector
这样的变量的替代方案。它将如何在C中使用?并包括

#包括
使用名称空间std;
字符串元音(string str)
{
向量元音={'a','e','i','o','u',
‘A’、‘E’、‘I’、‘O’、‘U’};
对于(int i=0;inewfile1一般来说,它并不简单(简而言之,使用算法并用C实现)。然而,这个程序不是很复杂(而且效率不高,我很怀疑它是错误的)

它所做的是:

  • 它打开一个文件“input.txt”进行读取。好的,在C语言中,您有
    fopen()
    来读取它

  • 从input.txt中找到的每一行中,它都会从该行中删除元音。这就是
    remVowel()
    所做的,例如
    remVowel(“您好!您还好吗?”)
    将返回
    “H thr!r y k?”
    (它是以二次方式执行的,即作为旁注,以无效的方式执行)

  • 然后
    main()


  • 就是这样。

    没有简单的方法。你为什么要这样做?
    vector
    ?写一个列表。
    replace
    ?自己写。
    frstream
    可以用
    文件
    来模拟。旁白:如果
    有一个固定大小的向量,我会使用
    remove\u,而不是循环和
    string::replace
    这意味着它可以在C++中使用<代码> STD::数组,并且你会使用……CThe问题中的RAW数组太宽了。你需要尝试一下,然后如果你有问题,再来问一个具体的问题。
    #include <bits/stdc++.h>
    using namespace std;
    
    string remVowel(string str)
    {
        vector<char> vowels = {'a', 'e', 'i', 'o', 'u',
        'A', 'E', 'I', 'O', 'U'};
        
        for (int i = 0; i < str.length(); i++)
        {
            if (find(vowels.begin(), vowels.end(),
                str[i]) != vowels.end())
            {
                str = str.replace(i, 1, "");
                i -= 2;
            }
        }
        return str;
    }
    
    int main(){
        fstream newfile;
        newfile.open("input.txt",ios::in);
        if (newfile.is_open()){   
            string tp;
            while(getline(newfile, tp)){   
                tp = remVowel(tp);
                fstream newfile1;
                newfile1.open("output.txt",ios::out | ios::app);
                if(newfile1.is_open())
                {
                    newfile1<<tp<<"\n";
                    newfile1.close();
                }
            }
            newfile.close();
        }
    }