如何从数组中获取字符串

时间:2016-12-07 03:21:29

标签: c arrays string

用p编程

我正在处理一个使用getline来获取用户输入的函数。

如果文本字符串中的第一个单词是S,它将调用一个将2Darray保存到文档的功能。

文件的名称将是用户在S之后输入的内容。

因此,如果用户输入S myfile.txt,该函数将把文件保存为myfile.txt。我无法弄清楚如何从aray中获取一个字符串,该字符串将是文件的名称。我不认为指针的用户是正确的。

void copy_to_file(char** board, int num_rows, int num_cols, char* filename){

    FILE *fp;
    fp = fopen(filename.txt, "w");
    int i =0;
    int j = 0;
    for (i = (num_rows - 1); i >= 0; --i) {
    fprintf("%d ", i);
    for (j = 0; j < num_cols; ++j) {
    fprintf("%c ", board[i][j]);
    }
    fprintf("\n");
    }
    fprintf(" ");
    for (i = 0; i < num_cols; ++i) {
    fprintf("%d ", i);
    }
    fprintf("\n");

    fclose(f);

    }//end coppy to board

    int main(int argc, char** argv)

    {
    char** board
    do
    {   
       printf("Enter your command: ");
       fgets(command, 100, stdin);

    if( command[1] == 's"){

    copy_to_file(char** board, int num_rows, int num_cols, char* filename)

    }

   }while(!(get_valid_input(command)));

1 个答案:

答案 0 :(得分:1)

示例代码。

#include <stdio.h>

int main(void){
    char commands[512] = "S myfile.txt\n";
    char command, filename[FILENAME_MAX+1];

    sscanf(commands, " %c %[^\n]", &command, filename);
    printf("command:%c, filename:%s\n", command, filename);
    return 0;
}