c - textString 之前的预期表达式

标签 c

我正在尝试制作一个从文件读取、排序并将所有唯一单词计数到数组中的程序。我已经测试了程序中的所有方法并且它们有效,但我在最终测试中遇到了问题。这是它的样子:

#include <stdio.h>
#include "WordReader.h"
#include "DataSet.h"
#include "TextString.h"

int main(void)
{
    FILE *input = fopen("text.txt","r");
    WordReader* r = createWordReader(input);
    DataSet* s= createDataSet();

    TextString* nextWord= readNext(r);

    while(nextWord !=0)
    {
         if(!isMember(s, nextWord))
         {
            insert(s, nextWord);     
         }
         TextString* nextWord= readNext(r);`enter code here`
    }

    closeReader(r);

    printf("%d\n", toString(TextString nextWord) +
          "contains" + size(s) + "Distinct Words");

}

事情是当我在 cygwin 中执行程序时,我在第 27 行收到以下错误 它显示“TextString”之前的预期表达式。两周前我开始使用 C 语言,但我不太理解它,所以寻求帮助。

最佳答案

您的代码有些不明确,但是要将变量作为参数传递给函数,您不需要指定它的类型,只需指定变量的名称。因此第 27 行应该只有 toString(nextWord)。另外,C 中不存在通过 + 进行的字符串连接,如果定义运算符,则可能存在于 C++ 中。此外,对象不是 C 的一部分,而是 C++ 的一部分。您可以首先使用 strcpy() 在临时缓冲区中进行字符串连接,然后根据需要调用任意数量的 strcat() 。要通过 printf() 输出字符串,格式参数也应该是“%s\n”。

但是,这可能无法解决您的所有问题,因为我不知道这些本地 header 的内容是什么或编译中使用的任何其他文件。

关于c - textString 之前的预期表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18946819/

相关文章:

c++ - **运算符不适用于二维数组作为参数

c - 数字周围括号的含义

c - 为什么 getpid() 返回 pid_t 而不是 int?

c - fread 删除先前分配的不同字符串

c - 如何在 C 中使用 malloc 和 realloc 正确分配结构中的数组?

c - struct sockaddr_un 与 sockaddr

c - 共享库构造函数不工作

c++ - 初始化 递增 递减 And 和 or 运算符

c - 我一次可以打开多少个文件?

c - 代码的时间复杂度或大O