使用C++语言,编写一段程序,从标准输入中一次读入一整行,存入std::string 中,然后修改该程序,使其一次读入一个词。(练习 3.2)
时间: 2023-05-11 08:03:10 浏览: 48
以下是使用 C 语言编写的程序,可以从标准输入中一次读入一整行,存入 std::string 中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char line[1024];
fgets(line, 1024, stdin);
char *str = (char*) malloc(strlen(line) + 1);
strcpy(str, line);
printf("The input line is: %s\n", str);
free(str);
return 0;
}
```
以下是修改后的程序,可以一次读入一个词:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char word[1024];
scanf("%s", word);
char *str = (char*) malloc(strlen(word) + 1);
strcpy(str, word);
printf("The input word is: %s\n", str);
free(str);
return 0;
}
```
注意,这里使用了 scanf 函数来读取一个词,而不是 fgets 函数来读取一整行。同时,为了避免内存泄漏,需要在使用完动态分配的内存后,调用 free 函数来释放内存。