❶ 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