is there anything similar to Java's string 'charAt()' Method in C?

后端 未结 3 1835
清酒与你
清酒与你 2021-01-22 15:07

I\'m trying to convert a piece of code from Java to C and I got stuck here, trying to get a character at each position.

char ch;

line += \' \';
    while (pos          


        
相关标签:
3条回答
  • 2021-01-22 15:43

    in C, the easiest way to get a char from an array of character (I.E. a string)

    given the variables in your posted code,

    char ch;
    
    line += ' ';
    while (pos < line.length()) 
    {
        ch = line.charAt(pos);  
    ...
    
    1. assuming that the string is terminated with a NUL byte ('\0')
    2. assuming there is room in the line[] array for another character

    would become:

    #include <string.h>
    strcat( line, " ");
    size_t maxPos = strlen( line );
    for( pos = 0; pos < maxPos; pos++ )
    {
        ch = line[pos];
    ....
    
    0 讨论(0)
  • 2021-01-22 15:45

    You can get a character at specific position in this way

    char str[] = "Anything";
    printf("%c", str[0]);
    

    but when you have a pointer array:

    char* an_array_of_strings[]={"balloon", "whatever", "isnext"};
    cout << an_array_of_strings[1][2] << endl;
    

    If you need to change the strings use

    char an_array_of_strings[][20]={"balloon", "whatever", "isnext"};
    cout << an_array_of_strings[1][2] << endl;
    

    source: here

    0 讨论(0)
  • 2021-01-22 15:46

    You can access the values as though the String was an array.

    char str[] = "Hello World";
    printf("%c", str[0]);
    
    0 讨论(0)
提交回复
热议问题