21xrx.com
2024-12-22 21:56:40 Sunday
登录
文章检索 我的文章 写文章
C++ 格式标识符 %s 的使用
2023-07-01 11:56:30 深夜i     --     --
C++ 格式标识符 %s 使用

在 C++ 中,格式标识符 %s 是一个用于字符串的占位符。它的作用是在字符串中指定一个位置,使得在输出时该位置会被替换成相应的字符串。

下面是一个简单的示例:


#include <iostream>

using namespace std;

int main() {

  char str[] = "Hello, world!";

  cout << "String: " << str << endl;

  printf("Formatted string: %s", str);

  return 0;

}

输出:


String: Hello, world!

Formatted string: Hello, world!

在这个示例中,我们使用了 cout 和 printf 两种输出方式。cout 是 C++ 的流式输出,而 printf 是 C 语言的标准输出函数。它们都可以使用 %s 来输出字符串。

需要注意的是,%s 只能用于输出字符串。如果要输出其他类型的数据,需要使用其他标识符,比如 %d (用于输出整型数据)和 %f (用于输出浮点型数据)等。

C++ 格式标识符 %s 在输入时也有相应的用法。如果要从键盘上输入一个字符串,可以使用 cin 或者 fgets 函数。其中,cin 是 C++ 的标准输入流,fgets 是 C 语言的标准输入函数。


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  char str[100];

  cout << "Enter a string: ";

  cin >> str;

  cout << "String: " << str << endl;

  char str2[100];

  cout << "Enter another string: ";

  fgets(str2, 100, stdin);

  str2[strcspn(str2, "\n")] = '\0';  // 去掉字符串末尾的换行符

  cout << "String 2: " << str2 << endl;

  return 0;

}

输出:


Enter a string: Hello

String: Hello

Enter another string: World

String 2: World

可以看到,cin 只会读取输入字符串的第一个单词,而 fgets 则可以读取整行输入。因为 fgets 包含换行符,我们需要使用 strcspn 函数去掉字符串末尾的换行符。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复