【发布时间】:2021-04-05 23:55:27
【问题描述】:
我必须输入一个字符串并从中获取课程 ID 和课程名称。
我的代码是:
char word[200];
int id=0;
char *ptrWord;
scanf("%[^\n]", word);
printf("%s\n", word);
id = strtol(word, &ptrWord, 10);
这些是有效输入的示例。
89110 Computer Science 101
89210 Advanced Programming 1
89111 OOP 101
我的问题是,如何去掉 id 后面的空格? 例如,最后一个输入的课程名称是 OOP 101,但是使用这种方法我得到了名称前的空格,我不想要它们。
【问题讨论】:
-
使用
fgets读取一行输入,然后使用strtok将字符串分成两部分。 -
获取整行。找到第一个和最后一个空格。第一个空格之前的字符串是第一个数字。最后一个字符串是第二个数字。中间的字符串是名称。根据需要从中间字符串中“去除”空格。