1.7 KiB
1.7 KiB
标准输入输出
#include <stdio.h>
/*
scanf 格式化输入
printf 格式化输出
getchar 读取单个字符
putchar 输出单个字符
gets 读取一行字符串 空格也会读入
puts 输出字符串(会自带一个换行)
*/
int main(){
char str[100];
/*
scanf("%s", str);//占位符遇到空格结束
*/
gets(str);//读取一行字符串
printf("%s\n", str);
return 0;
}
字符串处理
#include <stdio.h>
#include <string.h>
/*
strlen 返回当前字符串长度 以结束符为标记
strcpy(目标串, 需要复制的串) 复制字符串
strncpy(目标串, 需要复制的串) 复制指定长度的字符串
strcat(字符串1, 字符串2) 拼接两个字符串,相当于在字符串1后加上字符串2后返回字符串1的首地址
strncat(字符串1, 字符串2) 拼接指定长度字符串(字符串2的长度)
*/
int main(void){
/*
烫烫烫:未初始化的字符数组打印出来
屯屯屯:未初始化的堆空间(C++)
锟斤拷:将GBK字符编码的文字转换为UTF-8后再转换成GBK
*/
char *str = "HelloWolrd";//指向一个字符串常量的首地址
char str2[20];
char str3[20];
char *str4;
char str5[20] = "";
strcpy(str2, str);//将字符串str的数据复制到str2这个字符数组中
strncpy(str3, str, 5);//复制str中的前5个字符到str3中
str3[5] = '\0';//设置结束标记
puts(str2);//会一直打印字符直到遇到字符串结束标记
puts(str3);
str4 = strcat(str2, str3);//str4相当于指向str2的首地址
puts(str2);//打印str2字符数组
puts(str4);//str4是一个字符串指针 指向str2的首个元素
strncat(str5, str3, 3);//将str5和str3中的三个字符拼接起来并存储在str5中
puts(str5);//打印str5
return 0;
}