如何将标记化的字符串存储到C中的数组中

博拉特

在我的程序中,我读取了一些包含字符串“ y'”和“ y''”的文本,并将其存储到名为lhs [100]的数组中,其余文本输入了rhs [100]。

我该怎么做呢?我一直在决定它是否适用于strstr()strcpy()

#include <stdio.h>
#include <string.h>

int main() {
    FILE *fin;
    fin = fopen("diffeq.txt", "r");
    char line[100];
    char split[] = " +-";
    char* token;
    char lhs[100];
    char rhs[100];
    int i = 0;

    while (fgets(line, sizeof(line), fin) != NULL)
    {
        for (token = strtok(line, split); token; token = strtok(NULL, split))
        {
            // I need to find from the token the string "y'" and "y''"
            // and store them into array "lhs[100]" and the rest of the
            // contents stored into "rhs[100]"
        }
    }
    fclose(fin);
    return 0;
}
阿敏

此代码正在处理示例文本。我测试了,它工作正常。所以只需要添加read file to text语句即可。另外,如果您想在标记之间添加空格,请从中删除注释符号//token[j++] = ' ';

#include <stdio.h>
#include <string.h>
int main() {
    char text[] = "this is a y' sample y'' text y ynot?";
    int len = strlen(text);
    char token[50];
    char lhs[100];
    char rhs[100];
    int state = 0;
    int i, j = 0;
    token[0] = '\0';
    lhs[0] = '\0';
    rhs[0] = '\0';
    printf("\nlen: %d", len);
    for (i = 0; i < len; i++)
        switch (text[i]) {
        case ' ':
        case '+':
        case '-':
            //token[j++] = ' ';
            token[j] = '\0';
            //printf("\ntoken> %s", token);
            // separator is seen, check the token 
            if (state == 2 || state == 3)
                // token is "y'" or "y''"
                strcat(lhs, token);
            else
                // other token detected
                strcat(rhs, token);
            state = 0;
            j = 0;
            break;
        case 'y':
            token[j++] = text[i];
            if (state == 0)
                // first 'y' is detected
                state = 1;
            else
                state = 0;
            break;
        case '\'':
            token[j++] = text[i];
            if (state == 1)
                // we had token=="y" so now we have token=="y'"
                state = 2;
            else if (state == 2)
                // we had token=="y'" so now we have token=="y''"
                state = 3;
            else state = 0;
            break;
        default:
            token[j++] = text[i];
            state = 0;
            break;
        }
    // check token detection condition for last token
    if (state == 2 || state == 3)
        strcat(lhs, token);
    else
        strcat(rhs, token);

        printf("\n\nlhs> %s\nrhs> %s", lhs, rhs);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串数组中的字符串存储到C中的变量中

来自分类Dev

如何将字符串生成的子字符串存储到字符串数组中?

来自分类Dev

如何将存储在CFArrayRef中的CFStringRef值检索到字符串/字符数组*

来自分类Dev

将字符串存储到C中的数组中

来自分类Dev

如何将JSON数据从文件存储到字符串数组中

来自分类Dev

如何将stringbuffer存储到字符串数组中?

来自分类Dev

如何将词干字符串存储到单个数组中?

来自分类Dev

C将字符串存储到数组中

来自分类Dev

如何将数据存储在要进行字符串化的数组中(javascript)

来自分类Dev

如何将EditText用户输入存储到c#中的字符串变量中

来自分类Dev

在c中输入字符串以及如何将字符串存储到变量中

来自分类Dev

如何使用getline将完整字符串存储到字符串数组中?

来自分类Dev

如何将一个字符串数组存储到另一个字符串数组中?

来自分类Dev

如何将日期选择器中的值存储到字符串变量中

来自分类Dev

如何将字符串中的每个单词存储到特定变量中?

来自分类Dev

PHP如何将句子中的单词存储到字符串中而不会爆炸

来自分类Dev

将字符串文件存储到动态数组中

来自分类Dev

将字符串循环存储到数组中?

来自分类Dev

Java,将字符串存储到数组中

来自分类Dev

将字符串数组存储到数据属性中

来自分类Dev

如何将数字转换为ASCII值或字符并存储在字符串数组中

来自分类Dev

如何将字符串(来自n行的文件中的字符串)存储在初始化为唯一指针的动态数组中?C ++

来自分类Dev

如何将字符串存储到char指针中?

来自分类Dev

如何将变量中存储的字符串从bash脚本传递到sybase SQL IN子句

来自分类Dev

如何将llvm :: Module的生成的LLVM-IR代码存储到字符串中?

来自分类Dev

如何将逗号分隔的字符串存储到表中

来自分类Dev

如何将字符串的一部分存储到字典中

来自分类Dev

如何将字符串(varchar)传递到SQL存储过程中?

来自分类Dev

如何将连接的 MYSQL 字符串查询存储到 PHP 变量中?

Related 相关文章

  1. 1

    如何将字符串数组中的字符串存储到C中的变量中

  2. 2

    如何将字符串生成的子字符串存储到字符串数组中?

  3. 3

    如何将存储在CFArrayRef中的CFStringRef值检索到字符串/字符数组*

  4. 4

    将字符串存储到C中的数组中

  5. 5

    如何将JSON数据从文件存储到字符串数组中

  6. 6

    如何将stringbuffer存储到字符串数组中?

  7. 7

    如何将词干字符串存储到单个数组中?

  8. 8

    C将字符串存储到数组中

  9. 9

    如何将数据存储在要进行字符串化的数组中(javascript)

  10. 10

    如何将EditText用户输入存储到c#中的字符串变量中

  11. 11

    在c中输入字符串以及如何将字符串存储到变量中

  12. 12

    如何使用getline将完整字符串存储到字符串数组中?

  13. 13

    如何将一个字符串数组存储到另一个字符串数组中?

  14. 14

    如何将日期选择器中的值存储到字符串变量中

  15. 15

    如何将字符串中的每个单词存储到特定变量中?

  16. 16

    PHP如何将句子中的单词存储到字符串中而不会爆炸

  17. 17

    将字符串文件存储到动态数组中

  18. 18

    将字符串循环存储到数组中?

  19. 19

    Java,将字符串存储到数组中

  20. 20

    将字符串数组存储到数据属性中

  21. 21

    如何将数字转换为ASCII值或字符并存储在字符串数组中

  22. 22

    如何将字符串(来自n行的文件中的字符串)存储在初始化为唯一指针的动态数组中?C ++

  23. 23

    如何将字符串存储到char指针中?

  24. 24

    如何将变量中存储的字符串从bash脚本传递到sybase SQL IN子句

  25. 25

    如何将llvm :: Module的生成的LLVM-IR代码存储到字符串中?

  26. 26

    如何将逗号分隔的字符串存储到表中

  27. 27

    如何将字符串的一部分存储到字典中

  28. 28

    如何将字符串(varchar)传递到SQL存储过程中?

  29. 29

    如何将连接的 MYSQL 字符串查询存储到 PHP 变量中?

热门标签

归档