❶ c语言字符串操作及fopen的使用问题
首先Windows下的目录是下斜杠\,另外在C中需输入两个\\才能得到\,建议用c++的string加fstream操作:
string filename("D:\\PhAB\\plot\\src\\");
filename+="abc.txt";
ifstream file;
file.open(filename.c_str());
char* str=new char[100];
file.getline(str,num);
file.close()
不懂的可以问我,或者google
❷ 需要C语言全部关键字符
C一共只有32个关键字:
auto :声明自动变量
short :声明短整型变量或函数
int: 声明整型变量或函数 long :声明长整型变量或函数
float:声明浮点型变量或函数
double :声明双精度变量或函数
char :声明字符型变量或函数
struct:声明结构体变量或函数
union:声明共用数据类型
enum :声明枚举类型
typedef:用以给数据类型取别名
const :声明只读变量
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
extern:声明变量是在其他文件正声明
register:声明寄存器变量
static :声明静态变量
volatile:说明变量在程序执行中可被隐含地改变
void :声明函数无返回值或无参数,声明无类型指针
if:条件语句
else :条件语句否定分支(与 if 连用)
switch :用于开关语句
case:开关语句分支
for:一种循环语句
do :循环语句的循环体
while :循环语句的循环条件
goto:无条件跳转语句
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
default:开关语句中的“其他”分支
sizeof:计算数据类型长度
return :子程序返回语句(可以带参数,也可不带参数)循环条件
❸ C语言的字符集有哪些
C语言中运算符比较多,来看下来的这些。
一、赋值运算符
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。
二、算术运算符
在C语言中有两个单目和五个双目运算符。
符号 功能
+ 单目正
- 单目负
* 乘法
/ 除法
% 取模
+ 加法
- 减法
三、逻辑运算符
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
四、关系运算符
关系运算符是对两个表达式进行比较,返回一个真/假值。
符号 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
五、自增自减运算符
这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。
六、复合赋值运算符
在赋值运算符当中,还有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。
复合赋值运算符有下列这些:
符号 功能
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
<<= 左移赋值
>>= 右移赋值
&= 位逻辑与赋值
|= 位逻辑或赋值
^= 位逻辑异或赋值
❹ 什么是c语言的字符集
c语言的字符集,就是c语言程序里允许用的字符。
与
ascii
字符集一样.
❺ C语言字符串操作及fopen的使用问题
首先Windows下的目录是下斜杠\,另外在C中需输入两个\\才能得到\,建议用c++的string加fstream操作:
string
filename("D:\\PhAB\\plot\\src\\");
filename+="abc.txt";
ifstream
file;
file.open(filename.c_str());
char*
str=new
char[100];
file.getline(str,num);
file.close()
不懂的可以问我,或者google
❻ C语言的字符集存储在哪
字符集就是ANSI码嘛~!
❼ C语言,字符串指针指向的字符串,那个字符串存储在哪个位置
你要位置,把内存地址都给你打印出来了。然后你怎么又牵扯到常量了?动态申请的变量(即malloc函数申请的变量)存放在堆区!
idxbuf=malloc(6*sizeof(char));
动态随机分配内存空间,共6个char型数据大小的空间,因为是随机的,idxbuf指针指向的内存空间的起始地址在后面的语句中打印出来:
printf("before idxbuf address:%p,idxbuf:%s ",&idxbuf,
&idxbuf:取地址,%p与指针对应,是输出指针的地址。
address:0x7ffeffc9f0b0,就是字符串指针idxbuf指向的字符串存储在内存中的地址位置。
你要字符串指针idxbuf的随机分配的地址,只需要
printf("before idxbuf address:%p ",&idxbuf);
这一语句就可以了,原来的程序编译有点问题,修改之后通过:
程序先编译后链接,转换成0与1的机器代码后调入内存运行。这个问题被你牵扯到程序运行的内存分配方式,而不是你所说的想找字符串在内存中的地址。请用内存分配方式详解提问!
简单的说,一个程序调入内存后,在内存中分为以下5个部分。
1、栈区(stack)
2、堆区(heap)
3、全局区(静态区)
4、文字常量区
5、程序代码区
内存分配详细不说了,
因为我已经很明确的根据提问回答了字符串存储的位置:address:0x7ffeffc9f0b0。
❽ C语言 字符串 文件路径
char s[100];
FILE *fp;
strcat(strcpy(s,q),"\\yourfilename.txt");
fp=fopen(s,"w");
……
这样就在原路径字符串q(已知路径字符串指针)上下创建了一个名为yourfilename.txt的文件。
❾ c语言如何获得文件当前路径
C语言里
在main函数的第二个参数里面,
保存着当前程序运行的目录
也就是argv[0]
main( int argc, char *argv[])
{
printf("%s ", argv[0] );
}
就是文件当前所在位置
不过需要注意的一点是
这个路径里面保存了当前文件的文件名
如果你只是需要路径的话还需要自己操作一下
main(int a,char *c[])
{
char s[100];
int i;
//把路径保存到字符串s里
strcpy(s,c[0]);
for(i=strlen(s); i>0 ; i--)
if( s[i] == '\\')
{
s[i]='\0';
break;
}
//找到最后一个 \ 并删除之后的内容
//最后输出的s,就是当前文件的路径了
puts(s);
}
❿ c语言中一些字符的意思
'1'为转义字符,代表的意思是“标题开始”
在C语言中,所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。
而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如 , , 等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。
转义序列通常有两种功能。第一个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。
第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如C语言字符串中的双引号字符",不能直接出现,必须用转义序列表示)。
在后面那种情况,转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母(digraph)情形。
参考资料来源:
网络-转义字符
网络-ASCII