我正在处理一个使用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)));
答案 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;
}